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

LibC: Add wcstol() and wcstoll() stubs

This commit is contained in:
Linus Groh 2021-01-18 09:59:44 +01:00 committed by Andreas Kling
parent ec42f864d4
commit 3c68f557a9
2 changed files with 23 additions and 8 deletions

View file

@ -25,6 +25,7 @@
*/ */
#include <AK/Assertions.h> #include <AK/Assertions.h>
#include <AK/Format.h>
#include <wchar.h> #include <wchar.h>
extern "C" { extern "C" {
@ -106,6 +107,16 @@ 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)
{
size_t dest_length = wcslen(dest);
size_t i;
for (i = 0; i < n && src[i] != '\0'; i++)
dest[dest_length + i] = src[i];
dest[dest_length + i] = '\0';
return dest;
}
wchar_t* wcstok(wchar_t* str, const wchar_t* delim, wchar_t** ptr) wchar_t* wcstok(wchar_t* str, const wchar_t* delim, wchar_t** ptr)
{ {
wchar_t* used_str = str; wchar_t* used_str = str;
@ -151,13 +162,15 @@ wchar_t* wcstok(wchar_t* str, const wchar_t* delim, wchar_t** ptr)
return &used_str[token_start]; return &used_str[token_start];
} }
wchar_t* wcsncat(wchar_t* dest, const wchar_t* src, size_t n) long wcstol(const wchar_t*, wchar_t**, int)
{ {
size_t dest_length = wcslen(dest); dbgln("FIXME: Implement wcstol()");
size_t i; TODO();
for (i = 0; i < n && src[i] != '\0'; i++) }
dest[dest_length + i] = src[i];
dest[dest_length + i] = '\0'; long long wcstoll(const wchar_t*, wchar_t**, int)
return dest; {
dbgln("FIXME: Implement wcstoll()");
TODO();
} }
} }

View file

@ -43,7 +43,9 @@ int wcsncmp(const wchar_t*, const wchar_t*, size_t);
wchar_t* wcschr(const wchar_t*, int); wchar_t* wcschr(const wchar_t*, int);
const wchar_t* wcsrchr(const wchar_t*, wchar_t); const wchar_t* wcsrchr(const wchar_t*, wchar_t);
wchar_t* wcscat(wchar_t*, const wchar_t*); wchar_t* wcscat(wchar_t*, const wchar_t*);
wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**);
wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t); wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t);
wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**);
long wcstol(const wchar_t*, wchar_t**, int);
long long wcstoll(const wchar_t*, wchar_t**, int);
__END_DECLS __END_DECLS