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 + #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.