X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fgettext.h;h=3299f5b25a999ed5e7e7ced10eb7efe168ff0254;hb=37b7f094e3ea502339794f64e8bad22444c6fb54;hp=02aa6979d5d2f06139a10e9a402c420b3c0cfc21;hpb=0930911efa35344d40b3977882ed516ab6ae1088;p=oweals%2Fminetest.git diff --git a/src/gettext.h b/src/gettext.h index 02aa6979d..3299f5b25 100644 --- a/src/gettext.h +++ b/src/gettext.h @@ -48,6 +48,10 @@ void init_gettext(const char *path,std::string configured_language,int argc, cha void init_gettext(const char *path,std::string configured_language); #endif +extern std::wstring narrow_to_wide(const std::string& mbs); +#include "util/numeric.h" + + /******************************************************************************/ inline wchar_t* chartowchar_t(const char *str) { @@ -66,7 +70,10 @@ inline wchar_t* chartowchar_t(const char *str) #else size_t l = strlen(str)+1; nstr = new wchar_t[l]; - mbstowcs(nstr, str, l); + + std::wstring intermediate = narrow_to_wide(str); + memset(nstr,0,l); + memcpy(nstr,intermediate.c_str(),l*sizeof(wchar_t)); #endif return nstr;