do { c1 = TOLOWER (*p1++); c2 = TOLOWER (*p2++); if (c1 == '\0') break; } while (c1 == c2);
while ((result = TOLOWER (*p1) - TOLOWER (*p2++)) == 0) if (*p1++ == '\0') break;
__strcasecmp (s1, s2 LOCALE_PARAM)     const char *s1;     const char *s2;     LOCALE_PARAM_DECL{  const unsigned char *p1 = (const unsigned char *) s1;  const unsigned char *p2 = (const unsigned char *) s2;  unsigned char c1, c2;  if (p1 == p2)    return 0;  do    {      c1 = TOLOWER (*p1++);      c2 = TOLOWER (*p2++);      if (c1 == '\0')	break;    }  while (c1 == c2);  return c1 - c2;}