strcasecmp.c 343 B

12345678910111213141516171819202122232425262728
  1. #include <string.h>
  2. typedef unsigned char uchar;
  3. int
  4. strcasecmp(char *s1, char *s2)
  5. {
  6. int c1, c2;
  7. while(*s1){
  8. c1 = *(uchar*)s1++;
  9. c2 = *(uchar*)s2++;
  10. if(c1 == c2)
  11. continue;
  12. if(c1 >= 'A' && c1 <= 'Z')
  13. c1 -= 'A' - 'a';
  14. if(c2 >= 'A' && c2 <= 'Z')
  15. c2 -= 'A' - 'a';
  16. if(c1 != c2)
  17. return c1 - c2;
  18. }
  19. return -*s2;
  20. }