- 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));