1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 00:47:45 +00:00

LibC: Switch to using east const in wchar.cpp

This commit is contained in:
Ali Mohammad Pur 2021-12-19 20:47:39 +03:30 committed by Ali Mohammad Pur
parent a00a3fa1ef
commit cacc3ee857

View file

@ -45,7 +45,7 @@ static unsigned int mbstate_expected_bytes(mbstate_t* state)
extern "C" { extern "C" {
size_t wcslen(const wchar_t* str) size_t wcslen(wchar_t const* str)
{ {
size_t len = 0; size_t len = 0;
while (*(str++)) while (*(str++))
@ -53,7 +53,7 @@ size_t wcslen(const wchar_t* str)
return len; return len;
} }
wchar_t* wcscpy(wchar_t* dest, const wchar_t* src) wchar_t* wcscpy(wchar_t* dest, wchar_t const* src)
{ {
wchar_t* original_dest = dest; wchar_t* original_dest = dest;
while ((*dest++ = *src++) != '\0') while ((*dest++ = *src++) != '\0')
@ -62,7 +62,7 @@ wchar_t* wcscpy(wchar_t* dest, const wchar_t* src)
} }
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsdup.html // https://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsdup.html
wchar_t* wcsdup(const wchar_t* str) wchar_t* wcsdup(wchar_t const* str)
{ {
size_t length = wcslen(str); size_t length = wcslen(str);
wchar_t* new_str = (wchar_t*)malloc(sizeof(wchar_t) * (length + 1)); wchar_t* new_str = (wchar_t*)malloc(sizeof(wchar_t) * (length + 1));
@ -75,7 +75,7 @@ wchar_t* wcsdup(const wchar_t* str)
return wcscpy(new_str, str); return wcscpy(new_str, str);
} }
wchar_t* wcsncpy(wchar_t* dest, const wchar_t* src, size_t num) wchar_t* wcsncpy(wchar_t* dest, wchar_t const* src, size_t num)
{ {
wchar_t* original_dest = dest; wchar_t* original_dest = dest;
while (((*dest++ = *src++) != '\0') && ((size_t)(dest - original_dest) < num)) while (((*dest++ = *src++) != '\0') && ((size_t)(dest - original_dest) < num))
@ -83,7 +83,7 @@ wchar_t* wcsncpy(wchar_t* dest, const wchar_t* src, size_t num)
return original_dest; return original_dest;
} }
size_t wcslcpy(wchar_t* dest, const wchar_t* src, size_t n) size_t wcslcpy(wchar_t* dest, wchar_t const* src, size_t n)
{ {
size_t i; size_t i;
for (i = 0; i + 1 < n && src[i] != L'\0'; ++i) for (i = 0; i + 1 < n && src[i] != L'\0'; ++i)
@ -95,28 +95,28 @@ size_t wcslcpy(wchar_t* dest, const wchar_t* src, size_t n)
return i; return i;
} }
int wcscmp(const wchar_t* s1, const wchar_t* s2) int wcscmp(wchar_t const* s1, wchar_t const* s2)
{ {
while (*s1 == *s2++) while (*s1 == *s2++)
if (*s1++ == 0) if (*s1++ == 0)
return 0; return 0;
return *(const wchar_t*)s1 - *(const wchar_t*)--s2; return *(wchar_t const*)s1 - *(wchar_t const*)--s2;
} }
int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n) int wcsncmp(wchar_t const* s1, wchar_t const* s2, size_t n)
{ {
if (!n) if (!n)
return 0; return 0;
do { do {
if (*s1 != *s2++) if (*s1 != *s2++)
return *(const wchar_t*)s1 - *(const wchar_t*)--s2; return *(wchar_t const*)s1 - *(wchar_t const*)--s2;
if (*s1++ == 0) if (*s1++ == 0)
break; break;
} while (--n); } while (--n);
return 0; return 0;
} }
wchar_t* wcschr(const wchar_t* str, int c) wchar_t* wcschr(wchar_t const* str, int c)
{ {
wchar_t ch = c; wchar_t ch = c;
for (;; ++str) { for (;; ++str) {
@ -127,7 +127,7 @@ wchar_t* wcschr(const wchar_t* str, int c)
} }
} }
wchar_t* wcsrchr(const wchar_t* str, wchar_t wc) wchar_t* wcsrchr(wchar_t const* str, wchar_t wc)
{ {
wchar_t* last = nullptr; wchar_t* last = nullptr;
wchar_t c; wchar_t c;
@ -138,7 +138,7 @@ wchar_t* wcsrchr(const wchar_t* str, wchar_t wc)
return last; return last;
} }
wchar_t* wcscat(wchar_t* dest, const wchar_t* src) wchar_t* wcscat(wchar_t* dest, wchar_t const* src)
{ {
size_t dest_length = wcslen(dest); size_t dest_length = wcslen(dest);
size_t i; size_t i;
@ -148,7 +148,7 @@ wchar_t* wcscat(wchar_t* dest, const wchar_t* src)
return dest; return dest;
} }
wchar_t* wcsncat(wchar_t* dest, const wchar_t* src, size_t n) wchar_t* wcsncat(wchar_t* dest, wchar_t const* src, size_t n)
{ {
size_t dest_length = wcslen(dest); size_t dest_length = wcslen(dest);
size_t i; size_t i;
@ -158,7 +158,7 @@ wchar_t* wcsncat(wchar_t* dest, const wchar_t* src, size_t n)
return dest; return dest;
} }
wchar_t* wcstok(wchar_t* str, const wchar_t* delim, wchar_t** ptr) wchar_t* wcstok(wchar_t* str, wchar_t const* delim, wchar_t** ptr)
{ {
wchar_t* used_str = str; wchar_t* used_str = str;
if (!used_str) { if (!used_str) {
@ -203,13 +203,13 @@ wchar_t* wcstok(wchar_t* str, const wchar_t* delim, wchar_t** ptr)
return &used_str[token_start]; return &used_str[token_start];
} }
long wcstol(const wchar_t*, wchar_t**, int) long wcstol(wchar_t const*, wchar_t**, int)
{ {
dbgln("FIXME: Implement wcstol()"); dbgln("FIXME: Implement wcstol()");
TODO(); TODO();
} }
long long wcstoll(const wchar_t*, wchar_t**, int) long long wcstoll(wchar_t const*, wchar_t**, int)
{ {
dbgln("FIXME: Implement wcstoll()"); dbgln("FIXME: Implement wcstoll()");
TODO(); TODO();
@ -229,7 +229,7 @@ wint_t btowc(int c)
return c; return c;
} }
size_t mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* state) size_t mbrtowc(wchar_t* pwc, char const* s, size_t n, mbstate_t* state)
{ {
static mbstate_t _anonymous_state = {}; static mbstate_t _anonymous_state = {};
@ -314,7 +314,7 @@ size_t mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* state)
return consumed_bytes; return consumed_bytes;
} }
size_t mbrlen(const char* s, size_t n, mbstate_t* ps) size_t mbrlen(char const* s, size_t n, mbstate_t* ps)
{ {
static mbstate_t anonymous_state = {}; static mbstate_t anonymous_state = {};
@ -342,14 +342,14 @@ size_t wcrtomb(char* s, wchar_t wc, mbstate_t*)
} }
} }
int wcscoll(const wchar_t* ws1, const wchar_t* ws2) int wcscoll(wchar_t const* ws1, wchar_t const* ws2)
{ {
// TODO: Actually implement a sensible sort order for this, // TODO: Actually implement a sensible sort order for this,
// because right now we are doing what LC_COLLATE=C would do. // because right now we are doing what LC_COLLATE=C would do.
return wcscmp(ws1, ws2); return wcscmp(ws1, ws2);
} }
size_t wcsxfrm(wchar_t* dest, const wchar_t* src, size_t n) size_t wcsxfrm(wchar_t* dest, wchar_t const* src, size_t n)
{ {
// TODO: This needs to be changed when wcscoll is not just doing wcscmp // TODO: This needs to be changed when wcscoll is not just doing wcscmp
return wcslcpy(dest, src, n); return wcslcpy(dest, src, n);
@ -363,7 +363,7 @@ int wctob(wint_t c)
return static_cast<unsigned char>(c); return static_cast<unsigned char>(c);
} }
int mbsinit(const mbstate_t* state) int mbsinit(mbstate_t const* state)
{ {
if (!state) { if (!state) {
return 1; return 1;
@ -376,9 +376,9 @@ int mbsinit(const mbstate_t* state)
return 1; return 1;
} }
wchar_t* wcspbrk(const wchar_t* wcs, const wchar_t* accept) wchar_t* wcspbrk(wchar_t const* wcs, wchar_t const* accept)
{ {
for (const wchar_t* cur = accept; *cur; cur++) { for (wchar_t const* cur = accept; *cur; cur++) {
wchar_t* res = wcschr(wcs, *cur); wchar_t* res = wcschr(wcs, *cur);
if (res) if (res)
return res; return res;
@ -387,7 +387,7 @@ wchar_t* wcspbrk(const wchar_t* wcs, const wchar_t* accept)
return nullptr; return nullptr;
} }
wchar_t* wcsstr(const wchar_t* haystack, const wchar_t* needle) wchar_t* wcsstr(wchar_t const* haystack, wchar_t const* needle)
{ {
size_t nlen = wcslen(needle); size_t nlen = wcslen(needle);
@ -407,7 +407,7 @@ wchar_t* wcsstr(const wchar_t* haystack, const wchar_t* needle)
return nullptr; return nullptr;
} }
wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n) wchar_t* wmemchr(wchar_t const* s, wchar_t c, size_t n)
{ {
for (size_t i = 0; i < n; i++) { for (size_t i = 0; i < n; i++) {
if (s[i] == c) if (s[i] == c)
@ -417,7 +417,7 @@ wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n)
return nullptr; return nullptr;
} }
wchar_t* wmemcpy(wchar_t* dest, const wchar_t* src, size_t n) wchar_t* wmemcpy(wchar_t* dest, wchar_t const* src, size_t n)
{ {
for (size_t i = 0; i < n; i++) for (size_t i = 0; i < n; i++)
dest[i] = src[i]; dest[i] = src[i];
@ -434,7 +434,7 @@ wchar_t* wmemset(wchar_t* wcs, wchar_t wc, size_t n)
return wcs; return wcs;
} }
wchar_t* wmemmove(wchar_t* dest, const wchar_t* src, size_t n) wchar_t* wmemmove(wchar_t* dest, wchar_t const* src, size_t n)
{ {
if (dest > src) { if (dest > src) {
for (size_t i = 1; i <= n; i++) { for (size_t i = 1; i <= n; i++) {
@ -449,37 +449,37 @@ wchar_t* wmemmove(wchar_t* dest, const wchar_t* src, size_t n)
return dest; return dest;
} }
unsigned long wcstoul(const wchar_t*, wchar_t**, int) unsigned long wcstoul(wchar_t const*, wchar_t**, int)
{ {
dbgln("TODO: Implement wcstoul()"); dbgln("TODO: Implement wcstoul()");
TODO(); TODO();
} }
unsigned long long wcstoull(const wchar_t*, wchar_t**, int) unsigned long long wcstoull(wchar_t const*, wchar_t**, int)
{ {
dbgln("TODO: Implement wcstoull()"); dbgln("TODO: Implement wcstoull()");
TODO(); TODO();
} }
float wcstof(const wchar_t*, wchar_t**) float wcstof(wchar_t const*, wchar_t**)
{ {
dbgln("TODO: Implement wcstof()"); dbgln("TODO: Implement wcstof()");
TODO(); TODO();
} }
double wcstod(const wchar_t*, wchar_t**) double wcstod(wchar_t const*, wchar_t**)
{ {
dbgln("TODO: Implement wcstod()"); dbgln("TODO: Implement wcstod()");
TODO(); TODO();
} }
long double wcstold(const wchar_t*, wchar_t**) long double wcstold(wchar_t const*, wchar_t**)
{ {
dbgln("TODO: Implement wcstold()"); dbgln("TODO: Implement wcstold()");
TODO(); TODO();
} }
int swprintf(wchar_t*, size_t, const wchar_t*, ...) int swprintf(wchar_t*, size_t, wchar_t const*, ...)
{ {
dbgln("TODO: Implement swprintf()"); dbgln("TODO: Implement swprintf()");
TODO(); TODO();
@ -502,7 +502,7 @@ int wcwidth(wchar_t wc)
return 1; return 1;
} }
size_t wcsnrtombs(char* dest, const wchar_t** src, size_t nwc, size_t len, mbstate_t* ps) size_t wcsnrtombs(char* dest, wchar_t const** src, size_t nwc, size_t len, mbstate_t* ps)
{ {
static mbstate_t _anonymous_state = {}; static mbstate_t _anonymous_state = {};
@ -548,7 +548,7 @@ size_t wcsnrtombs(char* dest, const wchar_t** src, size_t nwc, size_t len, mbsta
return written; return written;
} }
size_t mbsnrtowcs(wchar_t* dst, const char** src, size_t nms, size_t len, mbstate_t* ps) size_t mbsnrtowcs(wchar_t* dst, char const** src, size_t nms, size_t len, mbstate_t* ps)
{ {
static mbstate_t _anonymous_state = {}; static mbstate_t _anonymous_state = {};
@ -596,7 +596,7 @@ size_t mbsnrtowcs(wchar_t* dst, const char** src, size_t nms, size_t len, mbstat
return written; return written;
} }
int wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n) int wmemcmp(wchar_t const* s1, wchar_t const* s2, size_t n)
{ {
while (n-- > 0) { while (n-- > 0) {
if (*s1++ != *s2++) if (*s1++ != *s2++)
@ -605,7 +605,7 @@ int wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n)
return 0; return 0;
} }
size_t wcsrtombs(char* dest, const wchar_t** src, size_t len, mbstate_t* ps) size_t wcsrtombs(char* dest, wchar_t const** src, size_t len, mbstate_t* ps)
{ {
static mbstate_t anonymous_state = {}; static mbstate_t anonymous_state = {};
@ -616,7 +616,7 @@ size_t wcsrtombs(char* dest, const wchar_t** src, size_t len, mbstate_t* ps)
return wcsnrtombs(dest, src, SIZE_MAX, len, ps); return wcsnrtombs(dest, src, SIZE_MAX, len, ps);
} }
size_t mbsrtowcs(wchar_t* dst, const char** src, size_t len, mbstate_t* ps) size_t mbsrtowcs(wchar_t* dst, char const** src, size_t len, mbstate_t* ps)
{ {
static mbstate_t anonymous_state = {}; static mbstate_t anonymous_state = {};