CTRACE(tfp, "Child anchor %p of parent %p with name `%s' already exists.\n", (void *)child, (void *)parent, tag);
CTRACE((tfp, "Child anchor %p of parent %p with name `%s' already exists.\n", (void *)child, (void *)parent, tag));
PUBLIC HTChildAnchor * HTAnchor_findChild ARGS2(	HTParentAnchor *,	parent,	CONST char *,		tag){    HTChildAnchor *child;    HTList *kids;    if (!parent) {	CTRACE(tfp, "HTAnchor_findChild called with NULL parent.\n");	return(NULL);    }    if ((kids = parent->children) != 0) {	/*	**  Parent has children.  Search them.	*/	if (tag && *tag) {		/* TBL */	    while (NULL != (child=(HTChildAnchor *)HTList_nextObject(kids))) {#ifdef CASE_INSENSITIVE_ANCHORS		if (HTEquivalent(child->tag, tag)) /* Case insensitive */#else		if (HTIdentical(child->tag, tag)) /* Case sensitive - FM */#endif /* CASE_INSENSITIVE_ANCHORS */		{		    CTRACE(tfp, "Child anchor %p of parent %p with name `%s' already exists.\n",				(void *)child, (void *)parent, tag);		    return(child);		}	    }	}  /*  end if tag is void */    } else {  /* parent doesn't have any children yet : create family */	parent->children = HTList_new();    }    child = HTChildAnchor_new();    if (child == NULL)	outofmem(__FILE__, "HTChildAnchor_new");    CTRACE(tfp, "new Anchor %p named `%s' is child of %p\n",		(void *)child,		tag ? tag : (CONST char *)"",		(void *)parent); /* int for apollo */    HTList_addObject (parent->children, child);    child->parent = parent;    StrAllocCopy(child->tag, tag);    return(child);}