if (pencoding && IsUnityEnc(*pencoding) && *pencoding != WWW_ENC_7BIT && !IsUnityEnc(suff->encoding)) *pencoding = suff->encoding;
PUBLIC HTFormat HTFileFormat ARGS3(	CONST char *,	filename,	HTAtom **,	pencoding,	CONST char**,	pdesc){    HTSuffix * suff;    int n;    int i;    int lf;#ifdef VMS    char *semicolon = NULL;#endif /* VMS */    if (pencoding)	*pencoding = NULL;    if (pdesc)	*pdesc = NULL;    if (LYforce_HTML_mode) {	if (pencoding)	    *pencoding = WWW_ENC_8BIT;	return WWW_HTML;    }#ifdef VMS    /*    **	Trim at semicolon if a version number was    **	included, so it doesn't interfere with the    **	code for getting the MIME type. - FM    */    if ((semicolon = strchr(filename, ';')) != NULL)	*semicolon = '\0';#endif /* VMS */#ifndef NO_INIT    if (!HTSuffixes)	HTFileInit();#endif /* !NO_INIT */    lf	= strlen(filename);    n = HTList_count(HTSuffixes);    for (i = 0; i < n; i++) {	int ls;	suff = (HTSuffix *)HTList_objectAt(HTSuffixes, i);	ls = strlen(suff->suffix);	if ((ls <= lf) && 0 == strcasecomp(suff->suffix, filename + lf - ls)) {	    int j;	    if (pencoding)		*pencoding = suff->encoding;	    if (pdesc)		*pdesc = suff->desc;	    if (suff->rep) {#ifdef VMS		if (semicolon != NULL)		    *semicolon = ';';#endif /* VMS */		return suff->rep;		/* OK -- found */	    }	    for (j = 0; j < n; j++) {  /* Got encoding, need representation */		int ls2;		suff = (HTSuffix *)HTList_objectAt(HTSuffixes, j);		ls2 = strlen(suff->suffix);		if ((ls + ls2 <= lf) && 0 == strncasecomp(			suff->suffix, filename + lf - ls -ls2, ls2)) {		    if (suff->rep) {			if (pdesc && !(*pdesc))			    *pdesc = suff->desc;#ifdef VMS			if (semicolon != NULL)			    *semicolon = ';';#endif /* VMS */			return suff->rep;		    }		}	    }	}    }    /* defaults tree */    suff = strchr(filename, '.') ?	/* Unknown suffix */	 ( unknown_suffix.rep ? &unknown_suffix : &no_suffix)	 : &no_suffix;    /*    **	Set default encoding unless found with suffix already.    */    if (pencoding && !*pencoding)	*pencoding = suff->encoding ? suff->encoding				    : HTAtom_for("binary");#ifdef VMS    if (semicolon != NULL)	*semicolon = ';';#endif /* VMS */    return suff->rep ? suff->rep : WWW_BINARY;}