summaryrefslogtreecommitdiffstats
path: root/src/corelib/compat
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2024-01-26 12:50:46 +0100
committerIvan Solovev <ivan.solovev@qt.io>2024-02-07 15:02:19 +0100
commit0ed34d19926c60f3b74a58723c5c36f366e99d95 (patch)
treeadf06d68a344ded8c06fe01b9064a3764dc26fb4 /src/corelib/compat
parentd4bb448cddce63e0c6a84a86020fa59dd32b2293 (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.cpp21
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"