Replaced mbstowcs with mbstowcs_s to fix fix compiler warning about deprecation

This commit is contained in:
Julian Schiedel
2023-02-15 10:36:38 +01:00
parent f03feacc0b
commit dcfaebf9d9

View File

@@ -312,10 +312,10 @@ static inline int mk_wcswidth_cjk(const wchar_t *pwcs, size_t n) {
static inline std::wstring utf8_decode(const std::string &s) {
std::string curLocale = setlocale(LC_ALL, "");
const char *_Source = s.c_str();
size_t _Dsize = mbstowcs(NULL, _Source, 0) + 1;
size_t _Dsize = strlen(_Source) + 1;
wchar_t *_Dest = new wchar_t[_Dsize];
wmemset(_Dest, 0, _Dsize);
mbstowcs(_Dest, _Source, _Dsize);
size_t _Osize;
mbstowcs_s(&_Osize, _Dest, _Dsize, _Source, _Dsize);
std::wstring result = _Dest;
delete[] _Dest;
setlocale(LC_ALL, curLocale.c_str());