CTRACE(tfp, "HTAtom: New atom %p for `%s'\n", a, string);
CTRACE((tfp, "HTAtom: New atom %p for `%s'\n", a, string));
PUBLIC HTAtom * HTAtom_for ARGS1(CONST char *, string){    int hash;    HTAtom * a;    /*		First time around, clear hash table    */    /*     *	Memory leak fixed.     *  05-29-94 Lynx 2-3-1 Garrett Arch Blythe     */    if (!initialised) {        int i;	for (i = 0; i < HASH_SIZE; i++)	    hash_table[i] = (HTAtom *) 0;	initialised = YES;#ifdef LY_FIND_LEAKS	atexit(free_atoms);#endif    }    /*		Generate hash function    */    hash = HASH_FUNCTION(string);    /*		Search for the string in the list    */    for (a = hash_table[hash]; a; a = a->next) {	if (0 == strcasecomp(a->name, string)) {    	    /* CTRACE(tfp, "HTAtom: Old atom %p for `%s'\n", a, string); */	    return a;				/* Found: return it */	}    }    /*		Generate a new entry    */    a = (HTAtom *)malloc(sizeof(*a));    if (a == NULL)        outofmem(__FILE__, "HTAtom_for");    a->name = (char *)malloc(strlen(string)+1);    if (a->name == NULL)        outofmem(__FILE__, "HTAtom_for");    strcpy(a->name, string);    a->next = hash_table[hash];		/* Put onto the head of list */    hash_table[hash] = a;#ifdef NOT_DEFINED    CTRACE(tfp, "HTAtom: New atom %p for `%s'\n", a, string);#endif /* NOT_DEFINED */    return a;}