Merge pull request #12073 from AdmiralCurtiss/wiimote-win32error

WiimoteReal/IOWin: Use correct error type in the default case.
This commit is contained in:
JosJuice 2023-07-29 18:54:10 +02:00 committed by GitHub
commit 30c4ac34b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 12 deletions

View File

@ -52,10 +52,16 @@ std::string LastStrerrorString()
// Wrapper function to get GetLastError() string.
// This function might change the error code.
std::string GetLastErrorString()
{
return GetWin32ErrorString(GetLastError());
}
// Like GetLastErrorString() but if you have already queried the error code.
std::string GetWin32ErrorString(DWORD error_code)
{
char error_message[BUFFER_SIZE];
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, GetLastError(),
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, error_code,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), error_message, BUFFER_SIZE, nullptr);
return std::string(error_message);
}

View File

@ -53,6 +53,9 @@ std::string LastStrerrorString();
// This function might change the error code.
std::string GetLastErrorString();
// Like GetLastErrorString() but if you have already queried the error code.
std::string GetWin32ErrorString(unsigned long error_code);
// Obtains a full path to the specified module.
std::optional<std::wstring> GetModuleName(void* hInstance);
#endif

View File

@ -298,17 +298,8 @@ int IOWritePerWriteFile(HANDLE& dev_handle, OVERLAPPED& hid_overlap_write,
// Pending is no error!
break;
default:
if (FAILED(error))
{
WARN_LOG_FMT(WIIMOTE, "IOWrite[WWM_WRITE_FILE]: Error on WriteFile: {}",
Common::HRWrap(error));
}
else
{
WARN_LOG_FMT(WIIMOTE,
"IOWrite[WWM_WRITE_FILE]: Unexpected error code from WriteFile: 0x{:08x}",
error);
}
WARN_LOG_FMT(WIIMOTE, "IOWrite[WWM_WRITE_FILE]: Error on WriteFile: {}",
Common::GetWin32ErrorString(error));
CancelIo(dev_handle);
return 0;
}