diff options
author | Markus Goetz <Markus.Goetz@nokia.com> | 2010-03-15 14:26:41 (GMT) |
---|---|---|
committer | Markus Goetz <Markus.Goetz@nokia.com> | 2010-03-16 08:31:04 (GMT) |
commit | dd6c5cad88a56fb3a342fe9d4fc3b113ffe3fd53 (patch) | |
tree | d2a9d7c6762b883c16b8fb42389a4620cbd8d817 /src | |
parent | 6f814d58036867a28333770bd55f5fe49bb9ac82 (diff) | |
download | Qt-dd6c5cad88a56fb3a342fe9d4fc3b113ffe3fd53.zip Qt-dd6c5cad88a56fb3a342fe9d4fc3b113ffe3fd53.tar.gz Qt-dd6c5cad88a56fb3a342fe9d4fc3b113ffe3fd53.tar.bz2 |
QNetworkReply: Fix canReadLine()
Reviewed-by: Peter Hartmann
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/tools/qbytedata_p.h | 7 | ||||
-rw-r--r-- | src/network/access/qnetworkreplyimpl.cpp | 7 | ||||
-rw-r--r-- | src/network/access/qnetworkreplyimpl_p.h | 3 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/corelib/tools/qbytedata_p.h b/src/corelib/tools/qbytedata_p.h index 9aad6a9..c48bb33 100644 --- a/src/corelib/tools/qbytedata_p.h +++ b/src/corelib/tools/qbytedata_p.h @@ -206,6 +206,13 @@ public: { return buffers[i]; } + + inline bool canReadLine() const { + for (int i = 0; i < buffers.length(); i++) + if (buffers.at(i).contains('\n')) + return true; + return false; + } }; QT_END_NAMESPACE diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 162cff1..8505a41 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -723,6 +723,13 @@ void QNetworkReplyImpl::close() d->finished(); } +bool QNetworkReplyImpl::canReadLine () const +{ + Q_D(const QNetworkReplyImpl); + return QNetworkReply::canReadLine() || d->readBuffer.canReadLine(); +} + + /*! Returns the number of bytes available for reading with QIODevice::read(). The number of bytes available may grow until diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h index fdcfa33..6045ef4 100644 --- a/src/network/access/qnetworkreplyimpl_p.h +++ b/src/network/access/qnetworkreplyimpl_p.h @@ -77,10 +77,11 @@ public: ~QNetworkReplyImpl(); virtual void abort(); - // reimplemented from QNetworkReply + // reimplemented from QNetworkReply / QIODevice virtual void close(); virtual qint64 bytesAvailable() const; virtual void setReadBufferSize(qint64 size); + virtual bool canReadLine () const; virtual qint64 readData(char *data, qint64 maxlen); virtual bool event(QEvent *); |