From 9dd0bb851b34fcfea5e9be106d8f4209d59d5bf5 Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Thu, 26 Feb 2015 16:07:49 +0200 Subject: Make QRingBuffer a 64-bit safe According to I/O API, QIODevice and its inherited classes should be able to process a full 64-bit offsets and lengths. This requires 64-bit parameters in operations with internal buffers. Rework QRingBuffer to avoid implicit truncation of numbers and fix some 64-bit issues in code. Change-Id: Iadd6fd5fefd2d64e6c084e2feebb4dc2d6df66de Reviewed-by: Thiago Macieira --- src/network/socket/qabstractsocket.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/network') diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 3b10387b37..f94b1edbff 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -812,7 +812,7 @@ bool QAbstractSocketPrivate::canWriteNotification() #if defined (QABSTRACTSOCKET_DEBUG) qDebug("QAbstractSocketPrivate::canWriteNotification() flushing"); #endif - int tmp = writeBuffer.size(); + qint64 tmp = writeBuffer.size(); flush(); if (socketEngine) { @@ -872,7 +872,7 @@ bool QAbstractSocketPrivate::flush() return false; } - int nextSize = writeBuffer.nextDataBlockSize(); + qint64 nextSize = writeBuffer.nextDataBlockSize(); const char *ptr = writeBuffer.readPointer(); // Attempt to write it all in one chunk. @@ -1707,9 +1707,9 @@ qint64 QAbstractSocket::bytesToWrite() const { Q_D(const QAbstractSocket); #if defined(QABSTRACTSOCKET_DEBUG) - qDebug("QAbstractSocket::bytesToWrite() == %i", d->writeBuffer.size()); + qDebug("QAbstractSocket::bytesToWrite() == %lld", d->writeBuffer.size()); #endif - return (qint64)d->writeBuffer.size(); + return d->writeBuffer.size(); } /*! -- cgit v1.2.3