summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-07-19 15:03:30 +0200
committerLioncash <mathew1800@gmail.com>2018-07-19 15:15:38 +0200
commite0b8a35937e5c93ce661e9a947bd2b5f68aa810f (patch)
tree76438b697194444d6a2a16d3bd885758abd8bccd /src
parentMerge pull request #700 from bunnei/update-dynarmic (diff)
downloadyuzu-e0b8a35937e5c93ce661e9a947bd2b5f68aa810f.tar
yuzu-e0b8a35937e5c93ce661e9a947bd2b5f68aa810f.tar.gz
yuzu-e0b8a35937e5c93ce661e9a947bd2b5f68aa810f.tar.bz2
yuzu-e0b8a35937e5c93ce661e9a947bd2b5f68aa810f.tar.lz
yuzu-e0b8a35937e5c93ce661e9a947bd2b5f68aa810f.tar.xz
yuzu-e0b8a35937e5c93ce661e9a947bd2b5f68aa810f.tar.zst
yuzu-e0b8a35937e5c93ce661e9a947bd2b5f68aa810f.zip
Diffstat (limited to '')
-rw-r--r--src/common/common_funcs.h4
-rw-r--r--src/common/misc.cpp16
2 files changed, 8 insertions, 12 deletions
diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h
index 995938d0b..042c2c2aa 100644
--- a/src/common/common_funcs.h
+++ b/src/common/common_funcs.h
@@ -4,6 +4,8 @@
#pragma once
+#include <string>
+
#if !defined(ARCHITECTURE_x86_64) && !defined(ARCHITECTURE_ARM)
#include <cstdlib> // for exit
#endif
@@ -90,7 +92,7 @@ __declspec(dllimport) void __stdcall DebugBreak(void);
// Call directly after the command or use the error num.
// This function might change the error code.
// Defined in Misc.cpp.
-const char* GetLastErrorMsg();
+std::string GetLastErrorMsg();
namespace Common {
diff --git a/src/common/misc.cpp b/src/common/misc.cpp
index 7be2235b0..217a87098 100644
--- a/src/common/misc.cpp
+++ b/src/common/misc.cpp
@@ -4,34 +4,28 @@
#include <cstddef>
#ifdef _WIN32
-#include <windows.h>
+#include <Windows.h>
#else
#include <cerrno>
#include <cstring>
#endif
-// Neither Android nor OS X support TLS
-#if defined(__APPLE__) || (ANDROID && __clang__)
-#define __thread
-#endif
+#include "common/common_funcs.h"
// 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;
+ 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)
strerror_r(errno, err_str, buff_size);
#endif
- return err_str;
+ return std::string(err_str, buff_size);
}