From 3c68f557a9bd9f26a4e889041ed18d12cdc88233 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Mon, 18 Jan 2021 09:59:44 +0100 Subject: [PATCH] LibC: Add wcstol() and wcstoll() stubs --- Userland/Libraries/LibC/wchar.cpp | 27 ++++++++++++++++++++------- Userland/Libraries/LibC/wchar.h | 4 +++- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/Userland/Libraries/LibC/wchar.cpp b/Userland/Libraries/LibC/wchar.cpp index 8c1653e164..4270fb70eb 100644 --- a/Userland/Libraries/LibC/wchar.cpp +++ b/Userland/Libraries/LibC/wchar.cpp @@ -25,6 +25,7 @@ */ #include +#include #include extern "C" { @@ -106,6 +107,16 @@ wchar_t* wcscat(wchar_t* dest, const wchar_t* src) 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* 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]; } -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); - 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; + dbgln("FIXME: Implement wcstol()"); + TODO(); +} + +long long wcstoll(const wchar_t*, wchar_t**, int) +{ + dbgln("FIXME: Implement wcstoll()"); + TODO(); } } diff --git a/Userland/Libraries/LibC/wchar.h b/Userland/Libraries/LibC/wchar.h index 1f7d8d6c76..f73b223066 100644 --- a/Userland/Libraries/LibC/wchar.h +++ b/Userland/Libraries/LibC/wchar.h @@ -43,7 +43,9 @@ int wcsncmp(const wchar_t*, const wchar_t*, size_t); wchar_t* wcschr(const wchar_t*, int); const wchar_t* wcsrchr(const wchar_t*, 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* 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