diff options
| author | degasus <wickmarkus@web.de> | 2015-04-07 22:15:21 +0200 |
|---|---|---|
| committer | degasus <wickmarkus@web.de> | 2015-04-07 22:42:21 +0200 |
| commit | ef6bdf674f556c0ce9df383a3dc2e8bdc7483a5f (patch) | |
| tree | a38461de57b18a7db4d0799b542ef69ba522def6 /Source/Core/Common/Misc.cpp | |
| parent | 4796dc80bfa3b6431032492d88322ebc11beec32 (diff) | |
Common: Remove TLS usage in GetLastErrorMsg
Just return std::string as this code isn't performance critical.
Diffstat (limited to 'Source/Core/Common/Misc.cpp')
| -rw-r--r-- | Source/Core/Common/Misc.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/Source/Core/Common/Misc.cpp b/Source/Core/Common/Misc.cpp index f831479845..6df96b4045 100644 --- a/Source/Core/Common/Misc.cpp +++ b/Source/Core/Common/Misc.cpp @@ -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); } |
