diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2018-05-13 21:53:07 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2018-06-22 20:12:41 +0000 |
commit | cad7100fda1b27ba56c4d9efc6bceba62859dfbc (patch) | |
tree | 942ff836a94aab364ae8c408dcfa44d8808c8134 /src/network/access/qnetworkrequest.cpp | |
parent | c699daeceb4448c4545a67ffdba27bcb3b994114 (diff) |
QByteArray: add compare() with case sensitivity options
Need to do the same for startsWith() and endsWith(). indexOf() is a lot
harder.
[ChangeLog][QtCore][QByteArray] Added compare(), which takes
Qt::CaseSensitivity as one of the parameters. This function is more
efficient than using toLower() or toUpper() and then comparing.
Change-Id: Ib48364abee9f464c96c6fffd152e69bde4194df7
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/network/access/qnetworkrequest.cpp')
-rw-r--r-- | src/network/access/qnetworkrequest.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index 70a7f4e8bd..c2b388bbce 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -918,11 +918,11 @@ static int parseHeaderName(const QByteArray &headerName) switch (tolower(headerName.at(0))) { case 'c': - if (qstricmp(headerName.constData(), "content-type") == 0) + if (headerName.compare("content-type", Qt::CaseInsensitive) == 0) return QNetworkRequest::ContentTypeHeader; - else if (qstricmp(headerName.constData(), "content-length") == 0) + else if (headerName.compare("content-length", Qt::CaseInsensitive) == 0) return QNetworkRequest::ContentLengthHeader; - else if (qstricmp(headerName.constData(), "cookie") == 0) + else if (headerName.compare("cookie", Qt::CaseInsensitive) == 0) return QNetworkRequest::CookieHeader; else if (qstricmp(headerName.constData(), "content-disposition") == 0) return QNetworkRequest::ContentDispositionHeader; @@ -943,21 +943,21 @@ static int parseHeaderName(const QByteArray &headerName) break; case 'l': - if (qstricmp(headerName.constData(), "location") == 0) + if (headerName.compare("location", Qt::CaseInsensitive) == 0) return QNetworkRequest::LocationHeader; - else if (qstricmp(headerName.constData(), "last-modified") == 0) + else if (headerName.compare("last-modified", Qt::CaseInsensitive) == 0) return QNetworkRequest::LastModifiedHeader; break; case 's': - if (qstricmp(headerName.constData(), "set-cookie") == 0) + if (headerName.compare("set-cookie", Qt::CaseInsensitive) == 0) return QNetworkRequest::SetCookieHeader; - else if (qstricmp(headerName.constData(), "server") == 0) + else if (headerName.compare("server", Qt::CaseInsensitive) == 0) return QNetworkRequest::ServerHeader; break; case 'u': - if (qstricmp(headerName.constData(), "user-agent") == 0) + if (headerName.compare("user-agent", Qt::CaseInsensitive) == 0) return QNetworkRequest::UserAgentHeader; break; } @@ -1100,7 +1100,7 @@ QNetworkHeadersPrivate::findRawHeader(const QByteArray &key) const RawHeadersList::ConstIterator it = rawHeaders.constBegin(); RawHeadersList::ConstIterator end = rawHeaders.constEnd(); for ( ; it != end; ++it) - if (qstricmp(it->first.constData(), key.constData()) == 0) + if (it->first.compare(key, Qt::CaseInsensitive) == 0) return it; return end; // not found @@ -1181,7 +1181,7 @@ void QNetworkHeadersPrivate::setCookedHeader(QNetworkRequest::KnownHeaders heade void QNetworkHeadersPrivate::setRawHeaderInternal(const QByteArray &key, const QByteArray &value) { auto firstEqualsKey = [&key](const RawHeaderPair &header) { - return qstricmp(header.first.constData(), key.constData()) == 0; + return header.first.compare(key, Qt::CaseInsensitive) == 0; }; rawHeaders.erase(std::remove_if(rawHeaders.begin(), rawHeaders.end(), firstEqualsKey), |