Fix build warnings with VS 2022 (#9967)

This commit is contained in:
Nick Kreeger 2021-12-08 16:43:46 -06:00 committed by GitHub
parent 0c72f1cd5a
commit 051d005926
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -26,8 +26,10 @@ std::string ToMBString(const std::wstring& s) {
const int len = WideCharToMultiByte(CP_ACP, 0, s.data(), src_len, nullptr, 0, nullptr, nullptr);
assert(len > 0);
std::string ret(static_cast<size_t>(len) - 1, '\0');
#pragma warning(disable: 4189)
const int r = WideCharToMultiByte(CP_ACP, 0, s.data(), src_len, (char*)ret.data(), len, nullptr, nullptr);
assert(len == r);
#pragma warning(default: 4189)
return ret;
}
@ -39,8 +41,10 @@ std::wstring ToWideString(const std::string& s) {
const int len = MultiByteToWideChar(CP_UTF8, 0, s.data(), src_len, nullptr, 0);
assert(len > 0);
std::wstring ret(static_cast<size_t>(len) - 1, '\0');
#pragma warning(disable: 4189)
const int r = MultiByteToWideChar(CP_UTF8, 0, s.data(), src_len, (wchar_t*)ret.data(), len);
assert(len == r);
#pragma warning(default: 4189)
return ret;
}
#endif //#ifdef _WIN32