From 3d56ea09228ac2989eb8b89c8b69909603d61c3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Wed, 20 Jul 2022 02:24:40 +0200 Subject: Use template instead of Win32Error::twhat. --- c/common.cpp | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'c/common.cpp') 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. */ -- cgit v1.2.3