diff options
author | John Ankarström <john@ankarstrom.se> | 2022-07-20 02:24:40 +0200 |
---|---|---|
committer | John Ankarström <john@ankarstrom.se> | 2022-07-20 02:24:40 +0200 |
commit | 3d56ea09228ac2989eb8b89c8b69909603d61c3e (patch) | |
tree | 2deef821cae98df8033c11e452ca063a0caa583f /c/common.cpp | |
parent | 0e8054175d1ba6898830a2df20ea7f6660880f80 (diff) | |
download | EpisodeBrowser-3d56ea09228ac2989eb8b89c8b69909603d61c3e.tar.gz |
Use template instead of Win32Error::twhat.
Diffstat (limited to 'c/common.cpp')
-rw-r--r-- | c/common.cpp | 24 |
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. */ |