summaryrefslogtreecommitdiff
path: root/src/gettext.h
diff options
context:
space:
mode:
authorBlockMen <nmuelll@web.de>2015-02-12 02:55:50 +0100
committerBlockMen <nmuelll@web.de>2015-02-12 16:03:55 +0100
commitd3026293927f560465b325280fef697cc3361daa (patch)
tree6dfe86bb89450f7a47be1e787e51541a20a33846 /src/gettext.h
parente102cbd840c3dc3d52865868369aea3b8ee21028 (diff)
downloadminetest-d3026293927f560465b325280fef697cc3361daa.tar.gz
minetest-d3026293927f560465b325280fef697cc3361daa.tar.bz2
minetest-d3026293927f560465b325280fef697cc3361daa.zip
Fix gettext on MSVC
Diffstat (limited to 'src/gettext.h')
-rw-r--r--src/gettext.h7
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)