From 9e2a9b55e185b92074b32d3df336920f33b29e5a Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Sun, 1 Feb 2015 17:59:23 -0500 Subject: Reduce gettext wide/narrow and string/char* conversions --- src/gettext.h | 61 +++++++++++++---------------------------------------------- 1 file changed, 13 insertions(+), 48 deletions(-) (limited to 'src/gettext.h') diff --git a/src/gettext.h b/src/gettext.h index 81510aed6..77fab895b 100644 --- a/src/gettext.h +++ b/src/gettext.h @@ -20,8 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef GETTEXT_HEADER #define GETTEXT_HEADER -#include "config.h" // for USE_GETTEXT -#include "log.h" +//#include "config.h" // for USE_GETTEXT #if USE_GETTEXT #include @@ -33,64 +32,30 @@ with this program; if not, write to the Free Software Foundation, Inc., #define gettext_noop(String) String #define N_(String) gettext_noop (String) -#if defined(_WIN32) -#define WIN32_LEAN_AND_MEAN -#ifndef _WIN32_WINNT - #define _WIN32_WINNT 0x0501 -#endif -#include - -#endif // #if defined(_WIN32) - #ifdef _MSC_VER -void init_gettext(const char *path,std::string configured_language,int argc, char** argv); +void init_gettext(const char *path, const std::string &configured_language, int argc, char** argv); #else -void init_gettext(const char *path,std::string configured_language); +void init_gettext(const char *path, const std::string &configured_language); #endif -extern std::wstring narrow_to_wide(const std::string& mbs); -#include "util/numeric.h" +extern const wchar_t *narrow_to_wide_c(const char *mbs); +extern std::wstring narrow_to_wide(const std::string &mbs); -/******************************************************************************/ -inline wchar_t* chartowchar_t(const char *str) +// You must free the returned string! +inline const wchar_t *wgettext(const char *str) { - wchar_t* nstr = 0; -#if defined(_WIN32) - int nResult = MultiByteToWideChar( CP_UTF8, 0, (LPCSTR) str, -1, 0, 0 ); - if( nResult == 0 ) - { - errorstream<<"gettext: MultiByteToWideChar returned null"<