mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
Common: Remove TLS usage in GetLastErrorMsg
Just return std::string as this code isn't performance critical.
This commit is contained in:
@ -8,31 +8,23 @@
|
||||
|
||||
#include "Common/CommonFuncs.h"
|
||||
|
||||
// Neither Android nor OS X support TLS
|
||||
#if defined(__APPLE__) || (ANDROID && __clang__)
|
||||
#define __thread
|
||||
#endif
|
||||
|
||||
// Generic function to get last error message.
|
||||
// Call directly after the command or use the error num.
|
||||
// This function might change the error code.
|
||||
const char* GetLastErrorMsg()
|
||||
std::string GetLastErrorMsg()
|
||||
{
|
||||
static const size_t buff_size = 255;
|
||||
const size_t buff_size = 256;
|
||||
char err_str[buff_size];
|
||||
|
||||
#ifdef _WIN32
|
||||
static __declspec(thread) char err_str[buff_size] = {};
|
||||
|
||||
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, GetLastError(),
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
||||
err_str, buff_size, nullptr);
|
||||
#else
|
||||
static __thread char err_str[buff_size] = {};
|
||||
|
||||
// Thread safe (XSI-compliant)
|
||||
if (strerror_r(errno, err_str, buff_size))
|
||||
return nullptr;
|
||||
return "";
|
||||
#endif
|
||||
|
||||
return err_str;
|
||||
return std::string(err_str);
|
||||
}
|
||||
|
Reference in New Issue
Block a user