summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibC/wchar.cpp
AgeCommit message (Collapse)Author
2022-06-30LibC: Implement `wcswidth`Tim Schumacher
2022-06-23LibC: Implement `wcsftime` using a makeshift solutionTim Schumacher
2021-12-21LibC: Add POSIX spec links to all applicable wide character functionsAli Mohammad Pur
2021-12-21LibC: Stub out wcsftime()Ali Mohammad Pur
2021-12-21LibC+AK: Implement all sorts of wprintf variantsAli Mohammad Pur
2021-12-21LibC: Implement wcs{,c}spn()Ali Mohammad Pur
2021-12-21LibC: Switch to using east const in wchar.cppAli Mohammad Pur
2021-12-19LibC: Implement wcsdupTim Schumacher
2021-10-21LibC: Implement mbsnrtowcsTim Schumacher
2021-10-21LibC: Implement wcsnrtombsTim Schumacher
2021-10-21LibC: Implement mbrlenTim Schumacher
2021-10-17LibC: Primitively implement wcsxfrmDaniel Bertalan
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.
2021-10-17LibC: Implement wcslcpyDaniel Bertalan
2021-10-17LibC: Fix wcsrchr declaration to return a non-const wchar*Daniel Bertalan
This is how the standard specifies it; similarly to the already correctly declared wcschr function.
2021-10-17LibC: Stub out mbsnrtowcsDaniel Bertalan
2021-10-17LibC: Stub out wcsnrtombsDaniel Bertalan
2021-10-17LibC: Implement wmemcmpDaniel Bertalan
2021-10-17LibC: Implement wctobTim Schumacher
2021-10-15LibC: Implement mbsrtowcsTim Schumacher
2021-10-15LibC: Implement wcsrtombsTim Schumacher
2021-10-15LibC: Implement wcrtombDaniel Bertalan
This function converts a single wide character into its multibyte representation (UTF-8 in our case). It is called from libc++'s `std::basic_ostream<wchar_t>::flush`, which gets called at program exit from a global destructor in order to flush `std::wcout`.
2021-10-15LibC: Partially implement wcwidthTim Schumacher
2021-10-03LibC: Implement mbrtowc closer to POSIXTim Schumacher
2021-10-03LibC: Specifically clear only stored bytes after successful mbrtowcTim Schumacher
2021-10-03LibC: Manually count stored bytes in mbstate_tTim Schumacher
This is probably a bit faster than constantly having to look through all stored bytes. It also helps when we are trying to store actual null bytes.
2021-10-03LibC: Remove the mbstate_reset helperTim Schumacher
A zero-initialized mbstate_t struct has to be a valid initial state, so we can just zero-initialize it whenever we need to reset. Having a helper function for resetting the struct might imply that you can add additional setup operations afterwards, which is not the case.
2021-10-03LibC: Stub out swprintfTim Schumacher
2021-10-03LibC: Stub out wcstoldTim Schumacher
2021-10-03LibC: Stub out wcstodTim Schumacher
2021-10-03LibC: Stub out wcstofTim Schumacher
2021-10-03LibC: Stub out wcstoullTim Schumacher
2021-10-03LibC: Stub out wcstoulTim Schumacher
2021-10-03LibC: Implement wmemmoveTim Schumacher
2021-10-03LibC: Implement wmemsetTim Schumacher
2021-10-03LibC: Implement wmemcpyTim Schumacher
2021-10-03LibC: Implement wmemchrTim Schumacher
2021-10-03LibC: Implement wcsstrTim Schumacher
2021-10-03LibC: Implement wcspbrkTim Schumacher
2021-09-18LibC: Primitively implement wcscollTim Schumacher
At the moment, sorting like LC_COLLATE=C would do is better than nothing.
2021-09-16LibC: Implement mbsinit and mbrtowcTim Schumacher
2021-09-16LibC: Implement btowc()Tim Schumacher
2021-09-16LibC: Stub out a bunch of wchar functionsTim Schumacher
2021-05-30LibC: Stub out btowcTim Schumacher
wint_t is also not supposed to be defined by sys/types.h, but should be defined in wchar.h instead. Since we require it for our definition of btowc, let's move it to the correct place.
2021-04-29iLibC: Fix some missed camelCase => snake_caseAndreas Kling
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-01-18LibC: Add wcstol() and wcstoll() stubsLinus Groh
2021-01-18LibC: Add wcsncmp()Linus Groh
Taken from strncmp(), like wcscmp() in ef40ebb. :^)
2021-01-12Libraries: Move to Userland/Libraries/Andreas Kling