From: sapier Date: Sun, 6 Apr 2014 08:39:32 +0000 (+0200) Subject: Use narrow_to_wide in gettext instead of os dependent conversion fct X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=a230e1e7360eb561429bf69ad8793745fbd5e7c3;p=zefram%2Fminetest%2Fminetest_engine.git Use narrow_to_wide in gettext instead of os dependent conversion fct --- diff --git a/src/gettext.h b/src/gettext.h index 02aa6979..3299f5b2 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;