From b0c5ef74d29dff57512f1e18487f1982fa82b324 Mon Sep 17 00:00:00 2001 From: Julian Barathieu Date: Mon, 10 Feb 2020 11:05:34 +0100 Subject: [PATCH] strncmp --- kaleid/libc/string.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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; }