From a230e1e7360eb561429bf69ad8793745fbd5e7c3 Mon Sep 17 00:00:00 2001 From: sapier Date: Sun, 6 Apr 2014 10:39:32 +0200 Subject: [PATCH] Use narrow_to_wide in gettext instead of os dependent conversion fct --- src/gettext.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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;