diff --git a/kaleid/libc/string.c b/kaleid/libc/string.c index 2b50b20..b5c4674 100644 --- a/kaleid/libc/string.c +++ b/kaleid/libc/string.c @@ -39,9 +39,8 @@ int strcmp(const char *str1, const char *str2) // int strncmp(const char *str1, const char *str2, size_t n) { - size_t it = 0; - - while (*str1 == *str2 && *str2 && it < n) str1++, str2++, it++; + while (n && *str1 && *str1 == *str2) str1++, str2++, n--; + if (!n) return 0; return *(uchar *)str1 - *(uchar *)str2; }