Backport review comment from citra-emu/citra#4418

Original reason:
As Windows multi-byte character codec is unspecified while we always assume std::string uses UTF-8 in our code base, this can output gibberish when the string contains non-ASCII characters. ::OutputDebugStringW combined with Common::UTF8ToUTF16W is preferred here.
This commit is contained in:
Tobias 2018-12-07 16:21:18 +01:00 committed by GitHub
parent f761e3ef86
commit eb15711ee6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,7 +13,7 @@
#include <vector> #include <vector>
#ifdef _WIN32 #ifdef _WIN32
#include <share.h> // For _SH_DENYWR #include <share.h> // For _SH_DENYWR
#include <windows.h> // For OutputDebugStringA #include <windows.h> // For OutputDebugStringW
#else #else
#define _SH_DENYWR 0 #define _SH_DENYWR 0
#endif #endif
@ -148,7 +148,7 @@ void FileBackend::Write(const Entry& entry) {
void DebuggerBackend::Write(const Entry& entry) { void DebuggerBackend::Write(const Entry& entry) {
#ifdef _WIN32 #ifdef _WIN32
::OutputDebugStringA(FormatLogMessage(entry).append(1, '\n').c_str()); ::OutputDebugStringW(Common::UTF8ToUTF16W(FormatLogMessage(entry).append(1, '\n')).c_str());
#endif #endif
} }