diff options
author | BlockMen <nmuelll@web.de> | 2015-02-12 02:55:50 +0100 |
---|---|---|
committer | BlockMen <nmuelll@web.de> | 2015-02-12 16:03:55 +0100 |
commit | d3026293927f560465b325280fef697cc3361daa (patch) | |
tree | 6dfe86bb89450f7a47be1e787e51541a20a33846 /src/gettext.h | |
parent | e102cbd840c3dc3d52865868369aea3b8ee21028 (diff) | |
download | hax-minetest-server-d3026293927f560465b325280fef697cc3361daa.tar.gz hax-minetest-server-d3026293927f560465b325280fef697cc3361daa.zip |
Fix gettext on MSVC
Diffstat (limited to 'src/gettext.h')
-rw-r--r-- | src/gettext.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gettext.h b/src/gettext.h index 8e6282887..dce45fa3a 100644 --- a/src/gettext.h +++ b/src/gettext.h @@ -41,16 +41,19 @@ void init_gettext(const char *path, const std::string &configured_language); extern const wchar_t *narrow_to_wide_c(const char *mbs); extern std::wstring narrow_to_wide(const std::string &mbs); - // You must free the returned string! inline const wchar_t *wgettext(const char *str) { return narrow_to_wide_c(gettext(str)); } +// Gettext under MSVC needs this strange way. Just don't ask... inline std::wstring wstrgettext(const std::string &text) { - return narrow_to_wide(gettext(text.c_str())); + const wchar_t *tmp = wgettext(text.c_str()); + std::wstring retval = (std::wstring)tmp; + delete[] tmp; + return retval; } inline std::string strgettext(const std::string &text) |