suff = (HTSuffix *) calloc(1, sizeof(HTSuffix));
suff = typecalloc(HTSuffix);
PUBLIC void HTSetSuffix5 ARGS5(	CONST char *,	suffix,	CONST char *,	representation,	CONST char *,	encoding,	CONST char *,	desc,	float,		value){    HTSuffix * suff;    BOOL trivial_enc = IsUnityEncStr(encoding);    if (strcmp(suffix, "*") == 0)	suff = &no_suffix;    else if (strcmp(suffix, "*.*") == 0)	suff = &unknown_suffix;    else {	HTList *cur = HTSuffixes;	while (NULL != (suff = (HTSuffix*)HTList_nextObject(cur))) {	    if (suff->suffix && 0 == strcmp(suff->suffix, suffix) &&		((trivial_enc && IsUnityEnc(suff->encoding)) ||		 (!trivial_enc && !IsUnityEnc(suff->encoding) &&		     strcmp(encoding, HTAtom_name(suff->encoding)) == 0)))		break;	}	if (!suff) { /* Not found -- create a new node */	    suff = (HTSuffix *) calloc(1, sizeof(HTSuffix));	    if (suff == NULL)		outofmem(__FILE__, "HTSetSuffix");	    /*	    **	Memory leak fixed.	    **	05-28-94 Lynx 2-3-1 Garrett Arch Blythe	    */	    if (!HTSuffixes)	{		HTSuffixes = HTList_new();#ifdef LY_FIND_LEAKS		atexit(free_suffixes);#endif	    }	    HTList_addObject(HTSuffixes, suff);	    StrAllocCopy(suff->suffix, suffix);	}    }    if (representation)	suff->rep = HTAtom_for(representation);    /*    **	Memory leak fixed.    **	05-28-94 Lynx 2-3-1 Garrett Arch Blythe    **	Invariant code removed.    */    suff->encoding = HTAtom_for(encoding);    StrAllocCopy(suff->desc, desc);    suff->quality = value;}