浏览代码

LibC: Implement wmemcmp

Daniel Bertalan 3 年之前
父节点
当前提交
57f0c12b9a
共有 2 个文件被更改,包括 10 次插入0 次删除
  1. 9 0
      Userland/Libraries/LibC/wchar.cpp
  2. 1 0
      Userland/Libraries/LibC/wchar.h

+ 9 - 0
Userland/Libraries/LibC/wchar.cpp

@@ -541,4 +541,13 @@ size_t mbsrtowcs(wchar_t* dst, const char** src, size_t len, mbstate_t* ps)
     // If we are here, we have written `len` wchars, but not reached the null byte.
     return written;
 }
+
+int wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n)
+{
+    while (n-- > 0) {
+        if (*s1++ != *s2++)
+            return s1[-1] < s2[-1] ? -1 : 1;
+    }
+    return 0;
+}
 }

+ 1 - 0
Userland/Libraries/LibC/wchar.h

@@ -60,5 +60,6 @@ int swprintf(wchar_t*, size_t, const wchar_t*, ...);
 int wcwidth(wchar_t);
 size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*);
 size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*);
+int wmemcmp(const wchar_t*, const wchar_t*, size_t);
 
 __END_DECLS