summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qabstractsocket.cpp
diff options
context:
space:
mode:
authorAlex Trotsenko <alex1973tr@gmail.com>2015-09-03 10:12:02 +0300
committerAlex Trotsenko <alex1973tr@gmail.com>2015-09-05 18:12:00 +0000
commit5237b97f26caa1493128a68f70429292fb422543 (patch)
tree440de3b8081c81bd95ee64f3aa521afda2f1cd92 /src/network/socket/qabstractsocket.cpp
parent353b160a4af276eb554679756f23436face00927 (diff)
QAbstractSocket: discard input data when opened only for writing
A buffered TCP socket might be open only for writing purpose. As a possible use case of the API, this patch avoids accumulation of unwanted data in the internal read buffer. Change-Id: I2759c1e04968d24e2ae71f3eca05e7e560cd8a41 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/network/socket/qabstractsocket.cpp')
-rw-r--r--src/network/socket/qabstractsocket.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp
index 7d6c18dc2a..1119cc57df 100644
--- a/src/network/socket/qabstractsocket.cpp
+++ b/src/network/socket/qabstractsocket.cpp
@@ -1284,7 +1284,7 @@ bool QAbstractSocketPrivate::readFromSocket()
buffer.chop(bytesToRead);
return true;
}
- buffer.chop(bytesToRead - (readBytes < 0 ? qint64(0) : readBytes));
+ buffer.chop(bytesToRead - ((readBytes < 0 || !q->isReadable()) ? qint64(0) : readBytes));
#if defined(QABSTRACTSOCKET_DEBUG)
qDebug("QAbstractSocketPrivate::readFromSocket() got %lld bytes, buffer size = %lld",
readBytes, buffer.size());