From 323522b03cdfba38d41bcc94723bdc6c7b99abd4 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Tue, 9 Sep 2025 12:09:53 +0200 Subject: [PATCH] Memcmp --- kern/libkern/string.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/kern/libkern/string.c b/kern/libkern/string.c index 0d37792..90d852f 100644 --- a/kern/libkern/string.c +++ b/kern/libkern/string.c @@ -154,15 +154,10 @@ char *itoa(int value, char *str, int base) { return str; } -int memcmp(const void *s1, const void *s2, size_t len) { - const u8 *a = (const u8 *)s1; - const u8 *b = (const u8 *)s2; - for (size_t i = 0; i < len; i++) { - if (a[i] != b[i]) { - return (int)a[i] - (int)b[i]; - } - } - return 0; +int memcmp(const void *vl, const void *vr, size_t n) { + const unsigned char *l = vl, *r = vr; + for (; n && *l == *r; n--, l++, r++); + return n ? *l - *r : 0; } size_t strlen(const char *s) {