rem: unsigned char u1 = *s1++; unsigned char u2 = *s2++; if (TOUPPER (u1) != TOUPPER (u2)) return TOUPPER (u1) - TOUPPER (u2);
add: unsigned char u1 = s1[i]; unsigned char u2 = s2[i]; int diff = TOUPPER (u1) - TOUPPER (u2); if (diff) return diff;
context: memcasecmp (const void *vs1, const void *vs2, size_t n){  unsigned int i;  unsigned char const *s1 = (unsigned char const *) vs1;  unsigned char const *s2 = (unsigned char const *) vs2;  for (i = 0; i < n; i++)    {      unsigned char u1 = *s1++;      unsigned char u2 = *s2++;      if (TOUPPER (u1) != TOUPPER (u2))        return TOUPPER (u1) - TOUPPER (u2);    }  return 0;}