summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization/qxmlstream.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2024-12-18 10:48:25 +0100
committerIvan Solovev <ivan.solovev@qt.io>2024-12-19 11:11:30 +0000
commit44366d07dca047f096d1366c43ba549c97150074 (patch)
tree68f99dc3bf7ea405b37ccfefda9e1a3d3adfe24b /src/corelib/serialization/qxmlstream.cpp
parent752de4a0aabc305af16251a55edf247e043b1b18 (diff)
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>
Diffstat (limited to 'src/corelib/serialization/qxmlstream.cpp')
-rw-r--r--src/corelib/serialization/qxmlstream.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp
index 1547150a2f6..9dcdf490412 100644
--- a/src/corelib/serialization/qxmlstream.cpp
+++ b/src/corelib/serialization/qxmlstream.cpp
@@ -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