mirror of
https://github.com/fmtlib/fmt.git
synced 2025-02-05 00:40:12 +00:00
Fix warnings
This commit is contained in:
parent
43081b833a
commit
ca7478144d
@ -633,12 +633,15 @@ FMT_FUNC fmt::internal::UTF16ToUTF8::UTF16ToUTF8(fmt::WStringRef s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FMT_FUNC int fmt::internal::UTF16ToUTF8::convert(fmt::WStringRef s) {
|
FMT_FUNC int fmt::internal::UTF16ToUTF8::convert(fmt::WStringRef s) {
|
||||||
int length = WideCharToMultiByte(CP_UTF8, 0, s.data(), s.size(), 0, 0, 0, 0);
|
if (s.size() > INT_MAX)
|
||||||
|
return ERROR_INVALID_PARAMETER;
|
||||||
|
int s_size = static_cast<int>(s.size());
|
||||||
|
int length = WideCharToMultiByte(CP_UTF8, 0, s.data(), s_size, 0, 0, 0, 0);
|
||||||
if (length == 0)
|
if (length == 0)
|
||||||
return GetLastError();
|
return GetLastError();
|
||||||
buffer_.resize(length + 1);
|
buffer_.resize(length + 1);
|
||||||
length = WideCharToMultiByte(
|
length = WideCharToMultiByte(
|
||||||
CP_UTF8, 0, s.data(), s.size(), &buffer_[0], length, 0, 0);
|
CP_UTF8, 0, s.data(), s_size, &buffer_[0], length, 0, 0);
|
||||||
if (length == 0)
|
if (length == 0)
|
||||||
return GetLastError();
|
return GetLastError();
|
||||||
buffer_[length] = 0;
|
buffer_[length] = 0;
|
||||||
|
@ -752,6 +752,7 @@ TEST(UtilTest, UTF8ToUTF16Error) {
|
|||||||
TEST(UtilTest, UTF16ToUTF8Convert) {
|
TEST(UtilTest, UTF16ToUTF8Convert) {
|
||||||
fmt::internal::UTF16ToUTF8 u;
|
fmt::internal::UTF16ToUTF8 u;
|
||||||
EXPECT_EQ(ERROR_INVALID_PARAMETER, u.convert(fmt::WStringRef(0, 0)));
|
EXPECT_EQ(ERROR_INVALID_PARAMETER, u.convert(fmt::WStringRef(0, 0)));
|
||||||
|
EXPECT_EQ(ERROR_INVALID_PARAMETER, u.convert(fmt::WStringRef("foo", INT_MAX + 1u)));
|
||||||
}
|
}
|
||||||
#endif // _WIN32
|
#endif // _WIN32
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user