From 2ebd08e9494155ec4f3fe6435e3a8db5c9c3fa77 Mon Sep 17 00:00:00 2001 From: Matheus Date: Mon, 6 Apr 2026 21:40:40 -0300 Subject: [PATCH] string: strnlen --- kernel-src/include/string.h | 1 + kernel-src/lib/string.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/kernel-src/include/string.h b/kernel-src/include/string.h index 60ccfd22..0635253a 100644 --- a/kernel-src/include/string.h +++ b/kernel-src/include/string.h @@ -4,6 +4,7 @@ #include size_t strlen(const char *str); +size_t strnlen(const char *str, size_t max); char *strcpy(char *dest, const char *src); char *strcat(char *dest, const char *str); void *memcpy(void *dest, const void *src, size_t size); diff --git a/kernel-src/lib/string.c b/kernel-src/lib/string.c index 55a90f60..42ee6d19 100644 --- a/kernel-src/lib/string.c +++ b/kernel-src/lib/string.c @@ -65,6 +65,15 @@ size_t strlen(const char *a) { return s; } +size_t strnlen(const char *a, size_t max) { + size_t s = 0; + + while (s < max && a[s] != '\0') + ++s; + + return s; +} + int strncmp(const char *a, const char *b, size_t c) { int diff = 0;