diff --git a/libluna/include/luna/CString.h b/libluna/include/luna/CString.h index ef53d3ba..0ea31182 100644 --- a/libluna/include/luna/CString.h +++ b/libluna/include/luna/CString.h @@ -20,6 +20,7 @@ extern "C" char* strtok(char* str, const char* delim); usize wcslen(const wchar_t* str); + int wcscmp(const wchar_t* a, const wchar_t* b); char* strdup(const char* str); char* strndup(const char* str, usize max); diff --git a/libluna/src/CString.cpp b/libluna/src/CString.cpp index eb96c129..7abd0f10 100644 --- a/libluna/src/CString.cpp +++ b/libluna/src/CString.cpp @@ -64,6 +64,16 @@ extern "C" return *(const u8*)a - *(const u8*)b; } + int wcscmp(const wchar_t* a, const wchar_t* b) + { + while (*a && (*a == *b)) + { + a++; + b++; + } + return *(const u8*)a - *(const u8*)b; + } + int strncmp(const char* a, const char* b, usize max) { const char* s = a;