ret=(OBJ_NAME *)lh_delete(names_lh,(char *)&on);
ret=(OBJ_NAME *)lh_delete(names_lh,&on);
int OBJ_NAME_remove(const char *name, int type)	{	OBJ_NAME on,*ret;	if (names_lh == NULL) return(0);	type&= ~OBJ_NAME_ALIAS;	on.name=name;	on.type=type;	ret=(OBJ_NAME *)lh_delete(names_lh,(char *)&on);	if (ret != NULL)		{		/* free things */		if ((name_funcs_stack != NULL) && (sk_NAME_FUNCS_num(name_funcs_stack) > ret->type))			{			/* XXX: I'm not sure I understand why the free			 * function should get three arguments...			 * -- Richard Levitte			 */			sk_NAME_FUNCS_value(name_funcs_stack,ret->type)				->free_func(ret->name,ret->type,ret->data);			}		Free((char *)ret);		return(1);		}	else		return(0);	}