summaryrefslogtreecommitdiffstats
path: root/src/network/access
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2011-04-07 09:08:53 (GMT)
committeraxis <qt-info@nokia.com>2011-04-07 09:08:53 (GMT)
commitd54b3f04fa629fe031f1083073eef0145f0d6b1e (patch)
tree2a06736f812c478bdb21aa3781078fe88b5532fa /src/network/access
parent258c1a8537816f7b4c79e7cf4090a333768a10fa (diff)
parent8031eada2f81963865390b4d899631b09d4ca6f3 (diff)
downloadQt-d54b3f04fa629fe031f1083073eef0145f0d6b1e.zip
Qt-d54b3f04fa629fe031f1083073eef0145f0d6b1e.tar.gz
Qt-d54b3f04fa629fe031f1083073eef0145f0d6b1e.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt into earth-master
Conflicts: src/corelib/thread/qthread_unix.cpp
Diffstat (limited to 'src/network/access')
-rw-r--r--src/network/access/qftp.cpp4
-rw-r--r--src/network/access/qhttpthreaddelegate.cpp5
2 files changed, 7 insertions, 2 deletions
diff --git a/src/network/access/qftp.cpp b/src/network/access/qftp.cpp
index ccc20e6..69e59d1 100644
--- a/src/network/access/qftp.cpp
+++ b/src/network/access/qftp.cpp
@@ -363,9 +363,9 @@ qint64 QFtpDTP::read(char *data, qint64 maxlen)
if (socket && socket->state() == QTcpSocket::ConnectedState) {
read = socket->read(data, maxlen);
} else {
- read = bytesFromSocket.size();
+ read = qMin(maxlen, qint64(bytesFromSocket.size()));
memcpy(data, bytesFromSocket.data(), read);
- bytesFromSocket.clear();
+ bytesFromSocket.remove(0, read);
}
bytesDone += read;
diff --git a/src/network/access/qhttpthreaddelegate.cpp b/src/network/access/qhttpthreaddelegate.cpp
index 81410a4..16fd9bb 100644
--- a/src/network/access/qhttpthreaddelegate.cpp
+++ b/src/network/access/qhttpthreaddelegate.cpp
@@ -78,6 +78,11 @@ static QNetworkReply::NetworkError statusCodeFromHttp(int httpStatusCode, const
code = QNetworkReply::ProxyAuthenticationRequiredError;
break;
+ case 418: // I'm a teapot
+ code = QNetworkReply::ProtocolInvalidOperationError;
+ break;
+
+
default:
if (httpStatusCode > 500) {
// some kind of server error