cistrncmp.c 351 B

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