From 3976449c0e38ac4294ea1b353098115be1a5e385 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Fri, 14 Jan 2022 16:48:17 +0100 Subject: QTextStream: code tidies Port the internals to qsizetype, and use QStringView instead of QString as a function parameter. The padding() function is changed to take a qsizetype to avoid warnings, but the maximum padding that can be specified is still limited by the range of an int (this is guarded via an assert). Change-Id: I9dd98e5a534990a1758b080900a12dc793528d19 Reviewed-by: Marc Mutz --- src/corelib/serialization/qtextstream.cpp | 8 ++++---- src/corelib/serialization/qtextstream_p.h | 15 +++++++++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/corelib/serialization/qtextstream.cpp b/src/corelib/serialization/qtextstream.cpp index 50bb63465f..5e09d2ef28 100644 --- a/src/corelib/serialization/qtextstream.cpp +++ b/src/corelib/serialization/qtextstream.cpp @@ -712,7 +712,7 @@ inline void QTextStreamPrivate::restoreToSavedConverterState() /*! \internal */ -void QTextStreamPrivate::write(const QChar *data, int len) +void QTextStreamPrivate::write(const QChar *data, qsizetype len) { if (string) { // ### What about seek()?? @@ -757,7 +757,7 @@ void QTextStreamPrivate::write(QLatin1String data) /*! \internal */ -void QTextStreamPrivate::writePadding(int len) +void QTextStreamPrivate::writePadding(qsizetype len) { if (string) { // ### What about seek()?? @@ -822,7 +822,7 @@ inline void QTextStreamPrivate::putChar(QChar ch) /*! \internal */ -QTextStreamPrivate::PaddingResult QTextStreamPrivate::padding(int len) const +QTextStreamPrivate::PaddingResult QTextStreamPrivate::padding(qsizetype len) const { Q_ASSERT(params.fieldWidth > len); // calling padding() when no padding is needed is an error @@ -849,7 +849,7 @@ QTextStreamPrivate::PaddingResult QTextStreamPrivate::padding(int len) const /*! \internal */ -void QTextStreamPrivate::putString(const QChar *data, int len, bool number) +void QTextStreamPrivate::putString(const QChar *data, qsizetype len, bool number) { if (Q_UNLIKELY(params.fieldWidth > len)) { diff --git a/src/corelib/serialization/qtextstream_p.h b/src/corelib/serialization/qtextstream_p.h index 79643de35d..4a9f54ce1d 100644 --- a/src/corelib/serialization/qtextstream_p.h +++ b/src/corelib/serialization/qtextstream_p.h @@ -174,13 +174,16 @@ public: NumberParsingStatus getNumber(qulonglong *l); bool getReal(double *f); - inline void write(const QString &data) { write(data.begin(), data.length()); } + inline void write(QStringView data) { write(data.begin(), data.length()); } inline void write(QChar ch); - void write(const QChar *data, int len); + void write(const QChar *data, qsizetype len); void write(QLatin1String data); - void writePadding(int len); - inline void putString(const QString &ch, bool number = false) { putString(ch.constData(), ch.length(), number); } - void putString(const QChar *data, int len, bool number = false); + void writePadding(qsizetype len); + inline void putString(QStringView string, bool number = false) + { + putString(string.constData(), string.length(), number); + } + void putString(const QChar *data, qsizetype len, bool number = false); void putString(QLatin1String data, bool number = false); void putString(QUtf8StringView data, bool number = false); inline void putChar(QChar ch); @@ -189,7 +192,7 @@ public: struct PaddingResult { int left, right; }; - PaddingResult padding(int len) const; + PaddingResult padding(qsizetype len) const; // buffers bool fillReadBuffer(qint64 maxBytes = -1); -- cgit v1.2.3