]> git.lizzy.rs Git - minetest.git/blobdiff - src/gettext.h
Optionally specify propagateSunlight area in calcLighting
[minetest.git] / src / gettext.h
index 02aa6979d5d2f06139a10e9a402c420b3c0cfc21..81510aed6578ccf58813787dd0fa5ff087c7da2d 100644 (file)
@@ -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)
 {
@@ -64,9 +68,12 @@ inline wchar_t* chartowchar_t(const char *str)
                MultiByteToWideChar( CP_UTF8, 0, (LPCSTR) str, -1, (WCHAR *) nstr, nResult );
        }
 #else
-       size_t l = strlen(str)+1;
-       nstr = new wchar_t[l];
-       mbstowcs(nstr, str, l);
+       size_t l = strlen(str);
+       nstr = new wchar_t[l+1];
+
+       std::wstring intermediate = narrow_to_wide(str);
+       memset(nstr, 0, (l+1)*sizeof(wchar_t));
+       memcpy(nstr, intermediate.c_str(), l*sizeof(wchar_t));
 #endif
 
        return nstr;