ref: 1da7f45ae0e42aff174c695d948449bf22bf4b33
dir: /lib/c/strncmp.c/
#include <string.h> #undef strncmp int strncmp(const char *s1, const char *s2, size_t n) { int c; if (n == 0) return 0; while ((c = *s1) != '\0' && c == *s2) { if (--n == 0) return 0; ++s1, ++s2; } return (*(unsigned char *) s1 - *(unsigned char *) s2); }