Fix int/qsizetype mismatches in qstring.h
[ChangeLog][QtCore][QString] Fixed result truncation mod INT_MAX in fromStdSstring(), fromStdU16string(), fromStdU32string(), and fromStdWstring(). [ChangeLog][QtCore][QAnyStringView] Fixed result truncation mod INT_MAX in asLatin1StringView(). [ChangeLog][QtCore][QUtf8StringView] Fixed result truncation mod INT_MAX in toString(). Pick-to: 6.3 6.2 Change-Id: I944c561018a6ab4581ad6b1d71ec1ba1accba4a4 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>bb10
parent
53a842f66b
commit
ff053b39a3
|
|
@ -404,7 +404,7 @@ constexpr QAnyStringView::QAnyStringView(QLatin1StringView str) noexcept
|
|||
constexpr QLatin1StringView QAnyStringView::asLatin1StringView() const
|
||||
{
|
||||
Q_ASSERT(isLatin1());
|
||||
return {m_data_utf8, int(size())};
|
||||
return {m_data_utf8, size()};
|
||||
}
|
||||
|
||||
template <typename Visitor>
|
||||
|
|
@ -1240,8 +1240,7 @@ ushort QStringView::toUShort(bool *ok, int base) const
|
|||
template <bool UseChar8T>
|
||||
QString QBasicUtf8StringView<UseChar8T>::toString() const
|
||||
{
|
||||
Q_ASSERT(size() == int(size()));
|
||||
return QString::fromUtf8(data(), int(size()));
|
||||
return QString::fromUtf8(data(), size());
|
||||
}
|
||||
|
||||
//
|
||||
|
|
@ -1502,7 +1501,7 @@ inline std::string QString::toStdString() const
|
|||
{ return toUtf8().toStdString(); }
|
||||
|
||||
inline QString QString::fromStdString(const std::string &s)
|
||||
{ return fromUtf8(s.data(), int(s.size())); }
|
||||
{ return fromUtf8(s.data(), qsizetype(s.size())); }
|
||||
|
||||
inline std::wstring QString::toStdWString() const
|
||||
{
|
||||
|
|
@ -1513,16 +1512,16 @@ inline std::wstring QString::toStdWString() const
|
|||
}
|
||||
|
||||
inline QString QString::fromStdWString(const std::wstring &s)
|
||||
{ return fromWCharArray(s.data(), int(s.size())); }
|
||||
{ return fromWCharArray(s.data(), qsizetype(s.size())); }
|
||||
|
||||
inline QString QString::fromStdU16String(const std::u16string &s)
|
||||
{ return fromUtf16(s.data(), int(s.size())); }
|
||||
{ return fromUtf16(s.data(), qsizetype(s.size())); }
|
||||
|
||||
inline std::u16string QString::toStdU16String() const
|
||||
{ return std::u16string(reinterpret_cast<const char16_t*>(data()), length()); }
|
||||
|
||||
inline QString QString::fromStdU32String(const std::u32string &s)
|
||||
{ return fromUcs4(s.data(), int(s.size())); }
|
||||
{ return fromUcs4(s.data(), qsizetype(s.size())); }
|
||||
|
||||
inline std::u32string QString::toStdU32String() const
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue