diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2024-01-26 12:50:46 +0100 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2024-02-07 15:02:19 +0100 |
commit | 0ed34d19926c60f3b74a58723c5c36f366e99d95 (patch) | |
tree | adf06d68a344ded8c06fe01b9064a3764dc26fb4 /src/corelib/compat | |
parent | d4bb448cddce63e0c6a84a86020fa59dd32b2293 (diff) |
QDataStream: use qint64 to represent size while reading and writing
Do that to avoid narrowing at the call site on 32-bit platforms.
Amends fd48ce0b73c74dafd5db27bc1f2752ef665df7ef
Found in 6.7 API review
Pick-to: 6.7
Change-Id: I31142399385521d973b2ed3789745569e44d5d63
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/compat')
-rw-r--r-- | src/corelib/compat/removed_api.cpp | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/src/corelib/compat/removed_api.cpp b/src/corelib/compat/removed_api.cpp index 109e97daa3..1aeff6970d 100644 --- a/src/corelib/compat/removed_api.cpp +++ b/src/corelib/compat/removed_api.cpp @@ -708,9 +708,9 @@ bool QDateTime::precedes(const QDateTime &other) const QDataStream &QDataStream::readBytes(char *&s, uint &l) { - qsizetype length = 0; + qint64 length = 0; (void)readBytes(s, length); - if (length != qsizetype(uint(length))) { + if (length != qint64(uint(length))) { setStatus(ReadCorruptData); // Cannot store length in l delete[] s; l = 0; @@ -722,12 +722,7 @@ QDataStream &QDataStream::readBytes(char *&s, uint &l) QDataStream &QDataStream::writeBytes(const char *s, uint len) { - qsizetype length = qsizetype(len); - if (length < 0) { - setStatus(WriteFailed); - return *this; - } - return writeBytes(s, length); + return writeBytes(s, qint64(len)); } int QDataStream::skipRawData(int len) @@ -735,25 +730,21 @@ int QDataStream::skipRawData(int len) return int(skipRawData(qint64(len))); } -#if QT_POINTER_SIZE != 4 - int QDataStream::readBlock(char *data, int len) { - return int(readBlock(data, qsizetype(len))); + return int(readBlock(data, qint64(len))); } int QDataStream::readRawData(char *s, int len) { - return int(readRawData(s, qsizetype(len))); + return int(readRawData(s, qint64(len))); } int QDataStream::writeRawData(const char *s, int len) { - return writeRawData(s, qsizetype(len)); + return writeRawData(s, qint64(len)); } -#endif // QT_POINTER_SIZE != 4 - #if defined(Q_OS_ANDROID) #include "qjniobject.h" |