summaryrefslogtreecommitdiff
path: root/Source/Core/Common/CommonFuncs.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2017-04-14 21:07:37 +0200
committerJosJuice <josjuice@gmail.com>2017-04-15 00:41:09 +0200
commit2f9df072d6f64a09394bbbe9508d6d6fbcc8e1b5 (patch)
tree1f1dace05b49dc8d67367793e7e89ae69d257d6b /Source/Core/Common/CommonFuncs.cpp
parent722aca0830aedfde89ccf4bdac7ca51b3eb207a7 (diff)
Rename Misc.cpp to CommonFuncs.cpp
Because its only function is declared in CommonFuncs.h.
Diffstat (limited to 'Source/Core/Common/CommonFuncs.cpp')
-rw-r--r--Source/Core/Common/CommonFuncs.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/Source/Core/Common/CommonFuncs.cpp b/Source/Core/Common/CommonFuncs.cpp
new file mode 100644
index 0000000000..69ff018471
--- /dev/null
+++ b/Source/Core/Common/CommonFuncs.cpp
@@ -0,0 +1,33 @@
+// Copyright 2009 Dolphin Emulator Project
+// Licensed under GPLv2+
+// Refer to the license.txt file included.
+
+#include <cstddef>
+#include <cstring>
+#include <errno.h>
+
+#include "Common/CommonFuncs.h"
+
+#ifdef _WIN32
+#include <windows.h>
+#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.
+std::string GetLastErrorMsg()
+{
+ const size_t buff_size = 256;
+ char err_str[buff_size];
+
+#ifdef _WIN32
+ FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, GetLastError(),
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), err_str, buff_size, nullptr);
+#else
+ // Thread safe (XSI-compliant)
+ if (strerror_r(errno, err_str, buff_size))
+ return "";
+#endif
+
+ return std::string(err_str);
+}