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 ++------ src/network/ssl/qsslkey_p.cpp | 7 ++----- 2 files changed, 4 insertions(+), 11 deletions(-) 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()) diff --git a/src/network/ssl/qsslkey_p.cpp b/src/network/ssl/qsslkey_p.cpp index f26b178d0e..34f664093c 100644 --- a/src/network/ssl/qsslkey_p.cpp +++ b/src/network/ssl/qsslkey_p.cpp @@ -61,7 +61,6 @@ #include #include -#include #include #ifndef QT_NO_DEBUG_STREAM #include @@ -191,11 +190,9 @@ QByteArray QSslKeyPrivate::derFromPem(const QByteArray &pem, QMap