QXmlStreamReader: use QOffsetStringArray::viewAt()
This auto-computes the string's length without a NUL-byte scan, and also fixes a GCC 14 unity-build C++23 warning: In function ‘constexpr qsizetype QtPrivate::lengthHelperPointer(const Char*) [with Char = char]’, inlined from ‘constexpr qsizetype QtPrivate::lengthHelperPointer(const Char*) [with Char = char]’ at qbytearrayview.h:69:28, inlined from ‘constexpr QLatin1String::QLatin1String(const char*)’ at qlatin1stringview.h:52:62, inlined from ‘constexpr QLatin1StringView contextString(QXmlStreamReaderPrivate::XmlContext)’ at qxmlstream.cpp:814:90, inlined from ‘void QXmlStreamReaderPrivate::checkToken()’ at qxmlstream.cpp:4018:85: qbytearrayview.h:77:16: warning: ‘strlen’ argument missing terminating nul [-Wstringop-overread] 77 | while (data[i] != Char(0)) | ~~~~^ In file included from unity_0_cxx.cxx:412: qxmlstream.cpp: In member function ‘void QXmlStreamReaderPrivate::checkToken()’: qxmlstream.cpp:769:23: note: referenced argument declared here 769 | static constexpr auto QXmlStreamReader_XmlContextString = qOffsetStringArray( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Amends c4301be7d5f94852e1b17f2c2989d5ca807855d4, which was picked to 5.15, but didn't use QOffsetStringArray there (and unity-builds exist only since 6.5), so only picking to 6.5. Pick-to: 6.9 6.8 6.5 Change-Id: Ib50369aed6e8248fb88f43c7569c8a435c2b152e Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
752de4a0aa
commit
44366d07dc
@ -811,7 +811,7 @@ QString QXmlStreamReader::tokenString() const
|
||||
*/
|
||||
static constexpr QLatin1StringView contextString(QXmlStreamReaderPrivate::XmlContext ctxt)
|
||||
{
|
||||
return QLatin1StringView(QXmlStreamReader_XmlContextString.at(static_cast<int>(ctxt)));
|
||||
return QLatin1StringView(QXmlStreamReader_XmlContextString.viewAt(static_cast<int>(ctxt)));
|
||||
}
|
||||
|
||||
#endif // feature xmlstreamreader
|
||||
|
Loading…
x
Reference in New Issue
Block a user