1*37da2899SCharles.Forsyth #include "lib9.h" 2*37da2899SCharles.Forsyth 3*37da2899SCharles.Forsyth int cistrncmp(char * s1,char * s2,int n)4*37da2899SCharles.Forsythcistrncmp(char *s1, char *s2, int n) 5*37da2899SCharles.Forsyth { 6*37da2899SCharles.Forsyth int c1, c2; 7*37da2899SCharles.Forsyth 8*37da2899SCharles.Forsyth while(*s1 && n-- > 0){ 9*37da2899SCharles.Forsyth c1 = *(uchar*)s1++; 10*37da2899SCharles.Forsyth c2 = *(uchar*)s2++; 11*37da2899SCharles.Forsyth 12*37da2899SCharles.Forsyth if(c1 == c2) 13*37da2899SCharles.Forsyth continue; 14*37da2899SCharles.Forsyth 15*37da2899SCharles.Forsyth if(c1 >= 'A' && c1 <= 'Z') 16*37da2899SCharles.Forsyth c1 -= 'A' - 'a'; 17*37da2899SCharles.Forsyth 18*37da2899SCharles.Forsyth if(c2 >= 'A' && c2 <= 'Z') 19*37da2899SCharles.Forsyth c2 -= 'A' - 'a'; 20*37da2899SCharles.Forsyth 21*37da2899SCharles.Forsyth if(c1 != c2) 22*37da2899SCharles.Forsyth return c1 - c2; 23*37da2899SCharles.Forsyth } 24*37da2899SCharles.Forsyth if(n <= 0) 25*37da2899SCharles.Forsyth return 0; 26*37da2899SCharles.Forsyth return -*s2; 27*37da2899SCharles.Forsyth } 28