From d5bc88584ddde9c2e0bd8a70e366158c1d59ef7b Mon Sep 17 00:00:00 2001 From: Bananymous Date: Sat, 4 Jul 2026 02:25:56 +0300 Subject: [PATCH] LibC: Implement wcscasecmp and wcsncasecmp --- userspace/libraries/LibC/wchar.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/userspace/libraries/LibC/wchar.cpp b/userspace/libraries/LibC/wchar.cpp index 71b05eff..05b96bcd 100644 --- a/userspace/libraries/LibC/wchar.cpp +++ b/userspace/libraries/LibC/wchar.cpp @@ -178,6 +178,22 @@ int wcsncmp(const wchar_t* ws1, const wchar_t* ws2, size_t n) return *ws1 - *ws2; } +int wcscasecmp(const wchar_t* ws1, const wchar_t* ws2) +{ + for (; *ws1 && *ws2; ws1++, ws2++) + if (towlower(*ws1) != towlower(*ws2)) + break; + return towlower(*ws1) - towlower(*ws2); +} + +int wcsncasecmp(const wchar_t* ws1, const wchar_t* ws2, size_t n) +{ + for (; --n && *ws1 && *ws2; ws1++, ws2++) + if (towlower(*ws1) != towlower(*ws2)) + break; + return towlower(*ws1) - towlower(*ws2); +} + size_t wcslen(const wchar_t* ws) { size_t len = 0;