diff options
author | Alex Trotsenko <alex1973tr@gmail.com> | 2017-09-12 20:18:44 +0300 |
---|---|---|
committer | Alex Trotsenko <alex1973tr@gmail.com> | 2017-09-19 18:45:02 +0000 |
commit | aa4e6345bbbd92ae5246308e845cadf978de974e (patch) | |
tree | 3a6c1219f90ca58862343427228cdacdc868913b /src/network | |
parent | 58c14c4a7edcecdd9d58b682a9360c83e2274ec5 (diff) |
QHttpSocketEngine: replace dummy buffer + read() with skip()
Change-Id: Iace00f478b0ea5dc3f874f337212b996af1e5104
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/socket/qhttpsocketengine.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp index 899c02fba6..082fb94e0a 100644 --- a/src/network/socket/qhttpsocketengine.cpp +++ b/src/network/socket/qhttpsocketengine.cpp @@ -572,18 +572,13 @@ void QHttpSocketEngine::slotSocketReadNotification() } if (d->state == ReadResponseContent) { - char dummybuffer[4096]; - while (d->pendingResponseData) { - int read = d->socket->read(dummybuffer, qMin(sizeof(dummybuffer), (size_t)d->pendingResponseData)); - if (read == 0) - return; - if (read == -1) { - d->socket->disconnectFromHost(); - emitWriteNotification(); - return; - } - d->pendingResponseData -= read; + qint64 skipped = d->socket->skip(d->pendingResponseData); + if (skipped == -1) { + d->socket->disconnectFromHost(); + emitWriteNotification(); + return; } + d->pendingResponseData -= uint(skipped); if (d->pendingResponseData > 0) return; if (d->reply->d_func()->statusCode == 407) |