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(). Change-Id: I944c561018a6ab4581ad6b1d71ec1ba1accba4a4 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit ff053b39a3083813f89b1a3b6e735c047c09890f) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
parent
3a6c76a09a
commit
c00b8652b5
@ -356,7 +356,7 @@ constexpr QAnyStringView::QAnyStringView(QLatin1String str) noexcept
|
||||
constexpr QLatin1String QAnyStringView::asLatin1StringView() const
|
||||
{
|
||||
Q_ASSERT(isLatin1());
|
||||
return QLatin1String{m_data_utf8, int(size())};
|
||||
return QLatin1String{m_data_utf8, size()};
|
||||
}
|
||||
|
||||
template <typename Visitor>
|
||||
@ -1189,8 +1189,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());
|
||||
}
|
||||
|
||||
//
|
||||
@ -1451,7 +1450,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
|
||||
{
|
||||
@ -1462,16 +1461,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…
x
Reference in New Issue
Block a user