From 405f3d0aa3be30de6892bc9ea9303f0611ede5f6 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Sat, 5 Jun 2021 02:23:53 +0200 Subject: [PATCH] LibC: Implement btowc() --- Userland/Libraries/LibC/wchar.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibC/wchar.cpp b/Userland/Libraries/LibC/wchar.cpp index 726d998bc9..b3bca30b3f 100644 --- a/Userland/Libraries/LibC/wchar.cpp +++ b/Userland/Libraries/LibC/wchar.cpp @@ -154,10 +154,18 @@ long long wcstoll(const wchar_t*, wchar_t**, int) TODO(); } -wint_t btowc(int) +wint_t btowc(int c) { - dbgln("FIXME: Implement btowc()"); - TODO(); + if (c == EOF) { + return WEOF; + } + + // Multi-byte sequences in UTF-8 have their highest bit set + if (c & (1 << 7)) { + return WEOF; + } + + return c; } size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*)