WIN_SetErrorFromHRESULT: kill CR/LF that FormatMessage sticks at the end

Fixes: https://github.com/libsdl-org/SDL_mixer/issues/320
This commit is contained in:
Ozkan Sezer 2021-07-08 20:33:50 +03:00
parent 8fb95034e8
commit 3da6d2cdde
1 changed files with 9 additions and 0 deletions

View File

@ -44,8 +44,17 @@ WIN_SetErrorFromHRESULT(const char *prefix, HRESULT hr)
{
TCHAR buffer[1024];
char *message;
TCHAR *p = buffer;
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, hr, 0,
buffer, SDL_arraysize(buffer), NULL);
/* kill CR/LF that FormatMessage() sticks at the end */
while (*p) {
if (*p == '\r') {
*p = 0;
break;
}
++p;
}
message = WIN_StringToUTF8(buffer);
SDL_SetError("%s%s%s", prefix ? prefix : "", prefix ? ": " : "", message);
SDL_free(message);