Merge pull request #12466 from JosJuice/win32-error-string-encoding

Common: Fix encoding handling in GetWin32ErrorString
This commit is contained in:
Admiral H. Curtiss 2023-12-29 19:48:00 +01:00 committed by GitHub
commit bf0ac9de0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 3 deletions

View File

@ -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.