summaryrefslogtreecommitdiff
path: root/src/string/wcsncmp.c
AgeCommit message (Collapse)AuthorLines
2023-02-12fix return value of wcs{,n}cmp for extreme wchar_t valuesGabriel Ravier-1/+1
As a result of using simple subtraction to implement the return values for wcscmp and wcsncmp, integer overflow can occur (producing undefined behavior, and in practice, a wrong comparison result). This does not occur for meaningful character values (21-bit range) but the functions are specified to work on arbitrary wchar_t arrays. This patch replaces the subtraction with a little bit of code that orders the characters correctly, returning -1 if the character from the first string is smaller than the one from the second, 0 if they are equal and 1 if the character from the first string is larger than the one from the second.
2012-05-26fix overrun (n essentially ignored) in wcsncmpRich Felker-1/+1
bug report and solution by Richard Pennington
2011-02-12initial check-in, version 0.5.0v0.5.0Rich Felker-0/+7