From 212f9308d4b4a3fcbdd801e8e7917aa5c2034b78 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Sun, 19 Sep 2021 13:47:02 +0200 Subject: [PATCH] LibC: Specifically clear only stored bytes after successful mbrtowc --- Userland/Libraries/LibC/wchar.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibC/wchar.cpp b/Userland/Libraries/LibC/wchar.cpp index 040110b084..bf2f855b14 100644 --- a/Userland/Libraries/LibC/wchar.cpp +++ b/Userland/Libraries/LibC/wchar.cpp @@ -280,8 +280,8 @@ size_t mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* state) *pwc = codepoint; } - // We don't have a shift state that we need to keep, so just clear the entire state - *state = {}; + // We want to read the next multibyte character, but keep all other properties. + state->stored_bytes = 0; if (codepoint == 0) { return 0;