summaryrefslogtreecommitdiff
path: root/Source/Core/Common/LogManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/LogManager.cpp')
-rw-r--r--Source/Core/Common/LogManager.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/Core/Common/LogManager.cpp b/Source/Core/Common/LogManager.cpp
index bc4f9300c6..cb86d045d7 100644
--- a/Source/Core/Common/LogManager.cpp
+++ b/Source/Core/Common/LogManager.cpp
@@ -22,6 +22,19 @@
void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
const char *file, int line, const char* fmt, ...)
{
+#ifdef _WIN32
+ int delimiter = '\\';
+#else
+ int delimiter = '/';
+#endif
+ // The used macro __FILE__ differs between GCC and VS:
+ // GCC defines the full path, VS relative to the local project file.
+ // It would be the best to get the one relative to the project directory,
+ // but the full path is even worse, so just strip it to the filename itself.
+ const char* basefile = strrchr(file, delimiter);
+ if(basefile != nullptr)
+ file = basefile + 1;
+
va_list args;
va_start(args, fmt);
if (LogManager::GetInstance())