1234567891011121314151617181920212223242526272829 |
- #include <string.h>
- typedef unsigned char uchar;
- int
- strncasecmp(char *s1, char *s2, int n)
- {
- int c1, c2;
- while(*s1 && n-- > 0){
- c1 = *(uchar*)s1++;
- c2 = *(uchar*)s2++;
- if(c1 == c2)
- continue;
- if(c1 >= 'A' && c1 <= 'Z')
- c1 -= 'A' - 'a';
- if(c2 >= 'A' && c2 <= 'Z')
- c2 -= 'A' - 'a';
- if(c1 != c2)
- return c1 - c2;
- }
- if(n <= 0)
- return 0;
- return -*s2;
- }
|