diff options
| author | JosJuice <josjuice@gmail.com> | 2023-12-29 14:11:35 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2023-12-29 16:01:13 +0100 |
| commit | 0c7359e150f609f054f805723ede91f94e7cf344 (patch) | |
| tree | 8ec489f6e6082b81024940c39e8272118f339bb3 /Source/Core/Common/CommonFuncs.cpp | |
| parent | b1438c224fe30006b51f064a9460c93fa25480bf (diff) | |
Common: Fix encoding handling in GetWin32ErrorString
These messages can be localized, so we can't just assume it's all ASCII.
Diffstat (limited to 'Source/Core/Common/CommonFuncs.cpp')
| -rw-r--r-- | Source/Core/Common/CommonFuncs.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/Core/Common/CommonFuncs.cpp b/Source/Core/Common/CommonFuncs.cpp index 0a546428b7..aff87a9258 100644 --- a/Source/Core/Common/CommonFuncs.cpp +++ b/Source/Core/Common/CommonFuncs.cpp @@ -10,7 +10,10 @@ #ifdef _WIN32 #include <windows.h> + #define strerror_r(err, buf, len) strerror_s(buf, len, err) + +#include "Common/StringUtil.h" #endif namespace Common @@ -59,11 +62,11 @@ std::string GetLastErrorString() // Like GetLastErrorString() but if you have already queried the error code. std::string GetWin32ErrorString(DWORD error_code) { - char error_message[BUFFER_SIZE]; + wchar_t error_message[BUFFER_SIZE]; - FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, error_code, + FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, error_code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), error_message, BUFFER_SIZE, nullptr); - return std::string(error_message); + return WStringToUTF8(error_message); } // Obtains a full path to the specified module. |
