From 8b5651eb41954cbcbcb3ddd66179711dac0bc1df Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 24 Feb 2016 18:38:17 +0100 Subject: QtNetwork: don't use Boyer-Moore for single-character needles Using Boyer-Moore for single-character search strings makes no sense since there can be no skipping beyond the normal sequential search anyway. So, port to QByteArray::indexOf(char). Change-Id: I848e2ceea5ceafd0ebae402798b410f682348a75 Reviewed-by: Richard J. Moore --- src/network/access/qhttpnetworkreply.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src/network/access/qhttpnetworkreply.cpp') diff --git a/src/network/access/qhttpnetworkreply.cpp b/src/network/access/qhttpnetworkreply.cpp index eda9dac745..f4510c3498 100644 --- a/src/network/access/qhttpnetworkreply.cpp +++ b/src/network/access/qhttpnetworkreply.cpp @@ -40,8 +40,6 @@ #include "qhttpnetworkreply_p.h" #include "qhttpnetworkconnection_p.h" -#include - #ifndef QT_NO_HTTP #ifndef QT_NO_SSL @@ -611,11 +609,9 @@ void QHttpNetworkReplyPrivate::parseHeader(const QByteArray &header) { // see rfc2616, sec 4 for information about HTTP/1.1 headers. // allows relaxed parsing here, accepts both CRLF & LF line endings - const QByteArrayMatcher lf("\n"); - const QByteArrayMatcher colon(":"); int i = 0; while (i < header.count()) { - int j = colon.indexIn(header, i); // field-name + int j = header.indexOf(':', i); // field-name if (j == -1) break; const QByteArray field = header.mid(i, j - i).trimmed(); @@ -623,7 +619,7 @@ void QHttpNetworkReplyPrivate::parseHeader(const QByteArray &header) // any number of LWS is allowed before and after the value QByteArray value; do { - i = lf.indexIn(header, j); + i = header.indexOf('\n', j); if (i == -1) break; if (!value.isEmpty()) -- cgit v1.2.3