|
Message-Id: <C6S7DCPAVDGM.3MUY7E2KQQCMO@mussels> Date: Sun, 01 Nov 2020 17:17:49 -0300 From: Érico Nogueira <ericonr@...root.org> To: <musl@...ts.openwall.com>, <musl@...ts.openwall.com> Subject: Re: swprintf possible bug On Sun Nov 1, 2020 at 6:06 PM -03, Alexander Vitiuk wrote: > Hello! > It seems, wsprintf() / wprintf() are not working in musl as expected, if > uses with cyrillic: > > C testcase: > #include <wchar.h> > int main() { > wprintf(L"[hello]\n"); > wprintf(L"[Привет]\n"); > return 0; > } > on x86_64-linux-gnu prints: > [hello] > [Privet] > and on x86_64-linux-musl prints: [hello] > [ > > There are other cases described: > https://github.com/emscripten-core/emscripten/issues/11947 For what it's worth, if this is a bug, it would seem to be in how musl decides when to print characters (not the formatting functions themselves), since the below program doesn't print anything: #include <wchar.h> #include <stdio.h> int main() { fputws(L"[Привет Василий]\n", stdout); // I don't know if I'm accessing a wchar_t appropriately here fputwc(L"[Привет Василий]\n"[3], stdout); return 0; } I tried tracing the execution from fputws, and not printing anything seems to be caused by the return value of wcsrtombs(). Hope this helps, Érico
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.