1219b2ee8SDavid du Colombier #include <string.h> 2219b2ee8SDavid du Colombier 3*91931124SDavid du Colombier typedef unsigned char uchar; 4*91931124SDavid du Colombier 5219b2ee8SDavid du Colombier 6219b2ee8SDavid du Colombier int strcasecmp(char * s1,char * s2)7*91931124SDavid du Colombierstrcasecmp(char *s1, char *s2) 8219b2ee8SDavid du Colombier { 9*91931124SDavid du Colombier int c1, c2; 10219b2ee8SDavid du Colombier 11*91931124SDavid du Colombier while(*s1){ 12*91931124SDavid du Colombier c1 = *(uchar*)s1++; 13*91931124SDavid du Colombier c2 = *(uchar*)s2++; 14219b2ee8SDavid du Colombier 15*91931124SDavid du Colombier if(c1 == c2) 16*91931124SDavid du Colombier continue; 17*91931124SDavid du Colombier 18*91931124SDavid du Colombier if(c1 >= 'A' && c1 <= 'Z') 19*91931124SDavid du Colombier c1 -= 'A' - 'a'; 20*91931124SDavid du Colombier 21*91931124SDavid du Colombier if(c2 >= 'A' && c2 <= 'Z') 22*91931124SDavid du Colombier c2 -= 'A' - 'a'; 23*91931124SDavid du Colombier 24*91931124SDavid du Colombier if(c1 != c2) 25*91931124SDavid du Colombier return c1 - c2; 26*91931124SDavid du Colombier } 27*91931124SDavid du Colombier return -*s2; 28219b2ee8SDavid du Colombier } 29