if ((unsigned char)TOASCII(ch1) > 127 &&   (unsigned char)TOASCII(ch2) > 127) { if (DisplayCharsetMatchLocale) return(TOUPPER(ch1) - TOUPPER(ch2));  else { long uni_ch1 = UCTransToUni(ch1, current_char_set); long uni_ch2 = UCTransToUni(ch2, current_char_set); return(UniToLowerCase(uni_ch1) - UniToLowerCase(uni_ch2));
for (i = 0; str[i] != '\0'; i++) { if (IsSpecialAttrChar(str[i])) { continue; } else { len++; } if (IS_NEW_GLYPH(str[i])) { j = 0; while (str[(i + 1)] != '\0' && !IsSpecialAttrChar(str[(i + 1)]) && j < 5 && IS_UTF_EXTRA(str[(i + 1)])) { i++; j++; } } else if (!utf_flag && HTCJK != NOCJK && !isascii(str[i]) && str[(i + 1)] != '\0' && !IsSpecialAttrChar(str[(i + 1)])) { i++;
PUBLIC int UPPER8 ARGS2(int,ch1, int,ch2){    /* case-insensitive match for us-ascii */    if ((unsigned char)TOASCII(ch1) < 128 && (unsigned char)TOASCII(ch2) < 128)	return(TOUPPER(ch1) - TOUPPER(ch2));    /* case-insensitive match for upper half */    if ((unsigned char)TOASCII(ch1) > 127 &&  /* S/390 -- gil -- 2066 */	(unsigned char)TOASCII(ch2) > 127)    {	if (DisplayCharsetMatchLocale)	   return(TOUPPER(ch1) - TOUPPER(ch2)); /* old-style */	else	{	long uni_ch1 = UCTransToUni(ch1, current_char_set);	long uni_ch2 = UCTransToUni(ch2, current_char_set);	return(UniToLowerCase(uni_ch1) - UniToLowerCase(uni_ch2));	}    }    return(-10);  /* mismatch, if we come to here */}