fix return value of wmemcmp for extreme wchar_t values
[musl] / src / string / wmemcmp.c
index 2a19326..717d77b 100644 (file)
@@ -3,5 +3,5 @@
 int wmemcmp(const wchar_t *l, const wchar_t *r, size_t n)
 {
        for (; n && *l==*r; n--, l++, r++);
-       return n ? *l-*r : 0;
+       return n ? (*l < *r ? -1 : *l > *r) : 0;
 }