- unsigned char u1 = *s1++;
- unsigned char u2 = *s2++;
- if (TOUPPER (u1) != TOUPPER (u2))
- return TOUPPER (u1) - TOUPPER (u2);
+ unsigned char u1 = s1[i];
+ unsigned char u2 = s2[i];
+ int diff = TOUPPER (u1) - TOUPPER (u2);
+ if (diff)
+ return diff;