diff --git a/src/network/access/qhttpnetworkheader.cpp b/src/network/access/qhttpnetworkheader.cpp index 60a55b0ef57..7199abbf175 100644 --- a/src/network/access/qhttpnetworkheader.cpp +++ b/src/network/access/qhttpnetworkheader.cpp @@ -39,6 +39,8 @@ #include "qhttpnetworkheader_p.h" +#include + #ifndef QT_NO_HTTP QT_BEGIN_NAMESPACE @@ -103,13 +105,12 @@ QList QHttpNetworkHeaderPrivate::headerFieldValues(const QByteArray void QHttpNetworkHeaderPrivate::setHeaderField(const QByteArray &name, const QByteArray &data) { - QList >::Iterator it = fields.begin(); - while (it != fields.end()) { - if (qstricmp(name.constData(), it->first) == 0) - it = fields.erase(it); - else - ++it; - } + auto firstEqualsName = [&name](const QPair &header) { + return qstricmp(name.constData(), header.first) == 0; + }; + fields.erase(std::remove_if(fields.begin(), fields.end(), + firstEqualsName), + fields.end()); fields.append(qMakePair(name, data)); }