unsigned short int usi_hash = HASH_FUNCTION(me->address);
unsigned short usi_hash = (unsigned short) HASH_FUNCTION(me->address);
PUBLIC BOOL HTAnchor_delete ARGS1(	HTParentAnchor *,	me){    /*     *	Memory leaks fixed.     * 05-27-94 Lynx 2-3-1 Garrett Arch Blythe     */    HTList *cur;    HTChildAnchor *child;    /*     *	Do nothing if nothing to do.     */    if (!me) {	return(NO);    }    /*     *	Don't delete if document is loaded or being loaded.     */    if (me->document || me->underway) {	return(NO);    }    /*     *  Mark ourselves busy, so that recursive calls of this function     *  on this HTParentAnchor will not free it from under our feet. - kw     */    me->underway = TRUE;    /*     *	Recursively try to delete destination anchors of this parent.     *	In any event, this will tell all destination anchors that we     *	no longer consider them a destination.     */    deleteLinks((HTAnchor *)me);    /*     *	There are still incoming links to this one (we are the     *	destination of another anchor).     *	Don't actually delete this anchor, but children are OK to     *	delete their links.     */    if (!HTList_isEmpty(me->sources)) {	/*	 *  Delete all outgoing links from children, do not	 *  delete the children, though.	 */	if (!HTList_isEmpty(me->children)) {	    cur = me->children;	    while ((child = (HTChildAnchor *)HTList_nextObject(cur)) != 0) {		if (child != NULL) {		    deleteLinks((HTAnchor *)child);		}	    }	}	me->underway = FALSE;	/*	 *  Can't delete parent, still have sources.	 */	return(NO);    }    /*     *	No more incoming links : kill everything     *	First, recursively delete children and their links.     */    if (!HTList_isEmpty(me->children)) {	while ((child = (HTChildAnchor *)HTList_removeLastObject(							me->children)) != 0) {	    if (child) {		deleteLinks((HTAnchor *)child);		if (child->tag) {		    FREE(child->tag);		}		FREE(child);	    }	}    }    me->underway = FALSE;    /*     *	Delete our empty list of children.     */    if (me->children) {	HTList_delete(me->children);	me->children = NULL;    }    /*     * Delete our empty list of sources.     */    if (me->sources) {	HTList_delete(me->sources);	me->sources = NULL;    }    /*     *	Delete the methods list.     */    if (me->methods) {	/*	 *  Leave what the methods point to up in memory for	 *  other code (near static stuff).	 */	HTList_delete(me->methods);	me->methods = NULL;    }    /*     *	Free up all allocated members.     */    FREE(me->charset);    FREE(me->isIndexAction);    FREE(me->isIndexPrompt);    FREE(me->title);    FREE(me->physical);    FREE(me->post_data);    FREE(me->post_content_type);    FREE(me->bookmark);    FREE(me->owner);    FREE(me->RevTitle);    if (me->FileCache) {	FILE *fd;	if ((fd = fopen(me->FileCache, "r")) != NULL) {	    fclose(fd);	    remove(me->FileCache);	}	FREE(me->FileCache);    }    FREE(me->SugFname);    FREE(me->cache_control);    FREE(me->content_type);    FREE(me->content_language);    FREE(me->content_encoding);    FREE(me->content_base);    FREE(me->content_disposition);    FREE(me->content_location);    FREE(me->content_md5);    FREE(me->message_id);    FREE(me->subject);    FREE(me->date);    FREE(me->expires);    FREE(me->last_modified);    FREE(me->ETag);    FREE(me->server);#ifdef USE_HASH    FREE(me->style);#endif    /*     *	Remove ourselves from the hash table's list.     */    if (adult_table) {	unsigned short int usi_hash = HASH_FUNCTION(me->address);	if (adult_table[usi_hash])  {	    HTList_removeObject(adult_table[usi_hash], (void *)me);	}    }    /*     *	Original code wanted a way to clean out the HTFormat if no     *	longer needed (ref count?).  I'll leave it alone since     *	those HTAtom objects are a little harder to know where     *	they are being referenced all at one time. (near static)     */    /*     *	Free the address.     */    FREE(me->address);    FREE (me->UCStages);    ImageMapList_free(me->imaps);    /*     *	Finally, kill the parent anchor passed in.     */    FREE(me);    return(YES);}