mirror of
https://github.com/SerenityOS/serenity
synced 2024-09-06 08:56:40 +00:00
LibC: Primitively implement wcsxfrm
The `wcsxfrm` function copies a wide character string into a buffer, such that comparing the new string against any similarly pre-processed string with `wcscmp` produces the same result as if the original strings were compared with `wcscoll`. Our current `wcscoll` implementation is simply an alias for `wcscmp`, so `wcsxfrm` needs to perform no actions other than copying the string.
This commit is contained in:
parent
13e6d9d71a
commit
95c32fdf19
|
@ -331,6 +331,12 @@ int wcscoll(const wchar_t* ws1, const wchar_t* ws2)
|
|||
return wcscmp(ws1, ws2);
|
||||
}
|
||||
|
||||
size_t wcsxfrm(wchar_t* dest, const wchar_t* src, size_t n)
|
||||
{
|
||||
// TODO: This needs to be changed when wcscoll is not just doing wcscmp
|
||||
return wcslcpy(dest, src, n);
|
||||
}
|
||||
|
||||
int wctob(wint_t c)
|
||||
{
|
||||
if (c > 0x7f)
|
||||
|
|
|
@ -44,6 +44,7 @@ size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*);
|
|||
size_t mbrlen(const char*, size_t, mbstate_t*);
|
||||
size_t wcrtomb(char*, wchar_t, mbstate_t*);
|
||||
int wcscoll(const wchar_t*, const wchar_t*);
|
||||
size_t wcsxfrm(wchar_t*, const wchar_t*, size_t);
|
||||
int wctob(wint_t);
|
||||
int mbsinit(const mbstate_t*);
|
||||
wchar_t* wcspbrk(const wchar_t*, const wchar_t*);
|
||||
|
|
Loading…
Reference in a new issue