aboutsummaryrefslogtreecommitdiff
path: root/c/common.cpp
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2022-07-20 02:24:40 +0200
committerJohn Ankarström <john@ankarstrom.se>2022-07-20 02:24:40 +0200
commit3d56ea09228ac2989eb8b89c8b69909603d61c3e (patch)
tree2deef821cae98df8033c11e452ca063a0caa583f /c/common.cpp
parent0e8054175d1ba6898830a2df20ea7f6660880f80 (diff)
downloadEpisodeBrowser-3d56ea09228ac2989eb8b89c8b69909603d61c3e.tar.gz
Use template instead of Win32Error::twhat.
Diffstat (limited to 'c/common.cpp')
-rw-r--r--c/common.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/c/common.cpp b/c/common.cpp
index 7981801..ba52f2c 100644
--- a/c/common.cpp
+++ b/c/common.cpp
@@ -14,36 +14,32 @@ Win32Error::~Win32Error()
HeapFree(GetProcessHeap(), 0, m_wszMsg);
}
-const char* Win32Error::what() const noexcept
+template <>
+const char* Win32Error::what() const noexcept
{
if (!m_szMsg)
FormatMessageA(
FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
m_dwErr,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
(char*)&m_szMsg,
0, NULL);
return m_szMsg;
}
-const TCHAR* Win32Error::twhat() const noexcept
+template <>
+const wchar_t* Win32Error::what() const noexcept
{
-#ifdef UNICODE
-#define M m_wszMsg
-#else
-#define M m_szMsg
-#endif
- if (!M)
- FormatMessage(
+ if (!m_wszMsg)
+ FormatMessageW(
FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
m_dwErr,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (TCHAR*)&M,
+ MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
+ (wchar_t*)&m_wszMsg,
0, NULL);
- return M;
-#undef M
+ return m_wszMsg;
}
/* Library: Wrapper for loading and freeing dynamically linked libraries. */