From b9451ce58d6f92ef1e838d01c203cdd99e87607e Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Mon, 16 Jan 2017 18:43:29 +0100 Subject: [PATCH] Fix gibberish output for windows/mingw. %ls should be used instead of %s or %S to speficy narrow/wide charstring in wprintf fwprintf Fixes #6252 (cherry picked from commit 3df934acadeadaf7b2f2920411016dcb3bde7d99) --- platform/windows/os_windows.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index fac067fcd8c..b56469755c2 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -1329,18 +1329,10 @@ void OS_Windows::vprint(const char* p_format, va_list p_list, bool p_stderr) { MultiByteToWideChar(CP_UTF8,0,buf,len,wbuf,wlen); wbuf[wlen]=0; -// Recent MinGW and MSVC compilers seem to disagree on the case here -#ifdef __MINGW32__ if (p_stderr) - fwprintf(stderr, L"%S", wbuf); + fwprintf(stderr, L"%ls", wbuf); else - wprintf(L"%S", wbuf); -#else // MSVC - if (p_stderr) - fwprintf(stderr, L"%s", wbuf); - else - wprintf(L"%s", wbuf); -#endif + wprintf(L"%ls", wbuf); #ifdef STDOUT_FILE //vwfprintf(stdo,p_format,p_list);