ref: 7cf11db685832db42b6cbb33f9eca99db6ff4fcf
dir: /sys/src/libc/port/cistrncmp.c/
#include <u.h> #include <libc.h> int cistrncmp(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; }