Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-06-30 | LibC: Implement `wcswidth` | Tim Schumacher | |
2022-04-01 | Everywhere: Run clang-format | Idan Horowitz | |
2022-03-29 | LibC: Make wchar size definitions available from stdint.h | Tim Schumacher | |
POSIX describes WCHAR_MIN and WCHAR_MAX in stdint.h(0P), while wchar.h(0P) only says "as described in stdint.h". As there isn't a trivial path of "may make visible", just move it to a shared header and include it from both files. | |||
2022-03-19 | Revert "LibC: Make WEOF a signed value on clang" | Tim Schumacher | |
We have fixed Clang to define `wint_t` as an unsigned value. This reverts commit ccb9cae8e903a8043f813675639831e1890190c7. | |||
2021-12-21 | LibC: Make WEOF a signed value on clang | Ali Mohammad Pur | |
The actual value is unchanged, but the previous `0xffffffff` was an unsigned value, which lead to clang getting mad at `foowc() == WEOF`. This commit makes it a signed int on clang, which *should* serve the same purpose and not lead to clang getting mad at us. | |||
2021-12-21 | LibC: Define WCHAR_{MIN,MAX} | Ali Mohammad Pur | |
2021-12-21 | LibC: Stub out wcsftime() | Ali Mohammad Pur | |
2021-12-21 | LibC: Implement ungetwc() | Ali Mohammad Pur | |
2021-12-21 | LibC: Stub out some wscanf variants | Ali Mohammad Pur | |
2021-12-21 | LibC+AK: Implement all sorts of wprintf variants | Ali Mohammad Pur | |
2021-12-21 | LibC: Implement f{get,put}ws() | Ali Mohammad Pur | |
2021-12-21 | LibC: Stub out fwide() | Ali Mohammad Pur | |
This is a mess, and I'd rather not perform checks on every single stdio operation, so just make it a noop. | |||
2021-12-21 | LibC: Implement {f,}putwc() | Ali Mohammad Pur | |
2021-12-21 | LibC: Implement getwchar() | Ali Mohammad Pur | |
2021-12-21 | LibC: Implement {f,}getwc() | Ali Mohammad Pur | |
2021-12-21 | LibC: Implement wcs{,c}spn() | Ali Mohammad Pur | |
2021-12-19 | LibC: Implement wcsdup | Tim Schumacher | |
2021-10-17 | LibC: Primitively implement wcsxfrm | Daniel 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-17 | LibC: Implement wcslcpy | Daniel Bertalan | |
2021-10-17 | LibC: 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-17 | LibC: Stub out mbsnrtowcs | Daniel Bertalan | |
2021-10-17 | LibC: Stub out wcsnrtombs | Daniel Bertalan | |
2021-10-17 | LibC: Implement wmemcmp | Daniel Bertalan | |
2021-10-17 | LibC: Forward-declare `struct tm` in wchar.h | Daniel Bertalan | |
The C standard specifies that this forward-declaration be present in wchar.h, and is needed in order to build libstdc++. | |||
2021-10-15 | LibC: Implement mbsrtowcs | Tim Schumacher | |
2021-10-15 | LibC: Implement wcsrtombs | Tim Schumacher | |
2021-10-15 | LibC: Partially implement wcwidth | Tim Schumacher | |
2021-10-03 | LibC: Manually count stored bytes in mbstate_t | Tim 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-03 | LibC: Remove the mbstate_reset helper | Tim 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-03 | LibC: Stub out swprintf | Tim Schumacher | |
2021-10-03 | LibC: Stub out wcstold | Tim Schumacher | |
2021-10-03 | LibC: Stub out wcstod | Tim Schumacher | |
2021-10-03 | LibC: Stub out wcstof | Tim Schumacher | |
2021-10-03 | LibC: Stub out wcstoull | Tim Schumacher | |
2021-10-03 | LibC: Stub out wcstoul | Tim Schumacher | |
2021-10-03 | LibC: Implement wmemmove | Tim Schumacher | |
2021-10-03 | LibC: Implement wmemset | Tim Schumacher | |
2021-10-03 | LibC: Implement wmemcpy | Tim Schumacher | |
2021-10-03 | LibC: Implement wmemchr | Tim Schumacher | |
2021-10-03 | LibC: Implement wcsstr | Tim Schumacher | |
2021-10-03 | LibC: Implement wcspbrk | Tim Schumacher | |
2021-09-16 | LibC: Implement mbsinit and mbrtowc | Tim Schumacher | |
2021-09-16 | LibC: Stub out a bunch of wchar functions | Tim Schumacher | |
2021-09-16 | LibC: Provide a dummy mbstate_t in wchar.h | Tim Schumacher | |
POSIX just says that mbstate_t should be an "object type other than an array type" that can hold the conversion state for converting between (multi-byte) characters and wide characters. Since no other information regarding the contents is given, this apparently means that we should add whatever we need once we start implementing that conversion. | |||
2021-05-30 | LibC: Add stubs for wctype and iswctype | Tim Schumacher | |
2021-05-30 | LibC: Stub out btowc | Tim 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-22 | Everything: 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-18 | LibC: Add wcstol() and wcstoll() stubs | Linus Groh | |
2021-01-18 | LibC: Add wcsncmp() | Linus Groh | |
Taken from strncmp(), like wcscmp() in ef40ebb. :^) | |||
2021-01-12 | Libraries: Move to Userland/Libraries/ | Andreas Kling | |