diff options
| author | Linus Jahn <lnj@kaidan.im> | 2023-05-13 17:45:25 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2023-05-13 17:45:25 +0200 |
| commit | fbb96a37f1c118c14fd158173e0d691022183ee3 (patch) | |
| tree | 24e4a988dec79941107e3221e0e29fae2714968c | |
| parent | 9a0af523a8256484ae7c53bda923e6e44bafcb2e (diff) | |
Replace some while loops over QDomElements
| -rw-r--r-- | src/base/QXmppBitsOfBinaryData.cpp | 6 | ||||
| -rw-r--r-- | src/base/QXmppBitsOfBinaryIq.cpp | 12 | ||||
| -rw-r--r-- | src/base/QXmppElement.cpp | 6 | ||||
| -rw-r--r-- | src/base/QXmppIq.cpp | 7 | ||||
| -rw-r--r-- | src/base/QXmppStanza.cpp | 12 | ||||
| -rw-r--r-- | src/base/QXmppStreamFeatures.cpp | 19 |
6 files changed, 32 insertions, 30 deletions
diff --git a/src/base/QXmppBitsOfBinaryData.cpp b/src/base/QXmppBitsOfBinaryData.cpp index 6f9226de..449e0f57 100644 --- a/src/base/QXmppBitsOfBinaryData.cpp +++ b/src/base/QXmppBitsOfBinaryData.cpp @@ -221,14 +221,14 @@ void QXmppBitsOfBinaryDataList::parse(const QDomElement &element) clear(); // parse all <data/> elements - QDomElement child = element.firstChildElement(); - while (!child.isNull()) { + for (auto child = element.firstChildElement(); + !child.isNull(); + child = child.nextSiblingElement()) { if (QXmppBitsOfBinaryData::isBitsOfBinaryData(child)) { QXmppBitsOfBinaryData data; data.parseElementFromChild(child); append(data); } - child = child.nextSiblingElement(); } } diff --git a/src/base/QXmppBitsOfBinaryIq.cpp b/src/base/QXmppBitsOfBinaryIq.cpp index b55b7aa2..ea1ce901 100644 --- a/src/base/QXmppBitsOfBinaryIq.cpp +++ b/src/base/QXmppBitsOfBinaryIq.cpp @@ -30,12 +30,12 @@ QXmppBitsOfBinaryIq::~QXmppBitsOfBinaryIq() = default; /// bool QXmppBitsOfBinaryIq::isBitsOfBinaryIq(const QDomElement &element) { - QDomElement child = element.firstChildElement(); - while (!child.isNull()) { + for (auto child = element.firstChildElement(); + !child.isNull(); + child = child.nextSiblingElement()) { if (QXmppBitsOfBinaryData::isBitsOfBinaryData(child)) { return true; } - child = child.nextSiblingElement(); } return false; } @@ -43,13 +43,13 @@ bool QXmppBitsOfBinaryIq::isBitsOfBinaryIq(const QDomElement &element) /// \cond void QXmppBitsOfBinaryIq::parseElementFromChild(const QDomElement &element) { - QDomElement child = element.firstChildElement(); - while (!child.isNull()) { + for (auto child = element.firstChildElement(); + !child.isNull(); + child = child.nextSiblingElement()) { if (QXmppBitsOfBinaryData::isBitsOfBinaryData(child)) { QXmppBitsOfBinaryData::parseElementFromChild(child); break; } - child = child.nextSiblingElement(); } } diff --git a/src/base/QXmppElement.cpp b/src/base/QXmppElement.cpp index cbc5920b..a1275dbe 100644 --- a/src/base/QXmppElement.cpp +++ b/src/base/QXmppElement.cpp @@ -45,8 +45,9 @@ QXmppElementPrivate::QXmppElementPrivate(const QDomElement &element) attributes.insert(attr.name(), attr.value()); } - QDomNode childNode = element.firstChild(); - while (!childNode.isNull()) { + for (auto childNode = element.firstChild(); + !childNode.isNull(); + childNode = childNode.nextSibling()) { if (childNode.isElement()) { QXmppElementPrivate *child = new QXmppElementPrivate(childNode.toElement()); child->parent = this; @@ -54,7 +55,6 @@ QXmppElementPrivate::QXmppElementPrivate(const QDomElement &element) } else if (childNode.isText()) { value += childNode.toText().data(); } - childNode = childNode.nextSibling(); } QTextStream stream(&serializedSource); diff --git a/src/base/QXmppIq.cpp b/src/base/QXmppIq.cpp index 3d9f5422..3a3d6f57 100644 --- a/src/base/QXmppIq.cpp +++ b/src/base/QXmppIq.cpp @@ -93,10 +93,11 @@ void QXmppIq::parse(const QDomElement &element) void QXmppIq::parseElementFromChild(const QDomElement &element) { QXmppElementList extensions; - QDomElement itemElement = element.firstChildElement(); - while (!itemElement.isNull()) { + + for (auto itemElement = element.firstChildElement(); + !itemElement.isNull(); + itemElement = itemElement.nextSiblingElement()) { extensions.append(QXmppElement(itemElement)); - itemElement = itemElement.nextSiblingElement(); } setExtensions(extensions); } diff --git a/src/base/QXmppStanza.cpp b/src/base/QXmppStanza.cpp index f8b627be..03261536 100644 --- a/src/base/QXmppStanza.cpp +++ b/src/base/QXmppStanza.cpp @@ -557,8 +557,9 @@ void QXmppStanza::Error::parse(const QDomElement &errorElement) d->type = typeFromString(errorElement.attribute(QStringLiteral("type"))).value_or(NoType); d->by = errorElement.attribute(QStringLiteral("by")); - QDomElement element = errorElement.firstChildElement(); - while (!element.isNull()) { + for (auto element = errorElement.firstChildElement(); + !element.isNull(); + element = element.nextSiblingElement()) { if (element.namespaceURI() == ns_stanza) { if (element.tagName() == QStringLiteral("text")) { d->text = element.text(); @@ -589,7 +590,6 @@ void QXmppStanza::Error::parse(const QDomElement &errorElement) element.attribute(QStringLiteral("stamp"))); } } - element = element.nextSiblingElement(); } } @@ -1033,14 +1033,14 @@ void QXmppStanza::parse(const QDomElement &element) } // XEP-0033: Extended Stanza Addressing - QDomElement addressElement = element.firstChildElement("addresses").firstChildElement("address"); - while (!addressElement.isNull()) { + for (auto addressElement = element.firstChildElement("addresses").firstChildElement("address"); + !addressElement.isNull(); + addressElement = addressElement.nextSiblingElement("address")) { QXmppExtendedAddress address; address.parse(addressElement); if (address.isValid()) { d->extendedAddresses << address; } - addressElement = addressElement.nextSiblingElement("address"); } } diff --git a/src/base/QXmppStreamFeatures.cpp b/src/base/QXmppStreamFeatures.cpp index e9a74440..8041ea4d 100644 --- a/src/base/QXmppStreamFeatures.cpp +++ b/src/base/QXmppStreamFeatures.cpp @@ -266,9 +266,11 @@ bool QXmppStreamFeatures::isStreamFeatures(const QDomElement &element) static QXmppStreamFeatures::Mode readFeature(const QDomElement &element, const char *tagName, const char *tagNs) { - QDomElement subElement = element.firstChildElement(tagName); QXmppStreamFeatures::Mode mode = QXmppStreamFeatures::Disabled; - while (!subElement.isNull()) { + + for (auto subElement = element.firstChildElement(tagName); + !subElement.isNull(); + subElement = subElement.nextSiblingElement(tagName)) { if (subElement.namespaceURI() == tagNs) { if (!subElement.firstChildElement(QStringLiteral("required")).isNull()) { mode = QXmppStreamFeatures::Required; @@ -276,7 +278,6 @@ static QXmppStreamFeatures::Mode readFeature(const QDomElement &element, const c mode = QXmppStreamFeatures::Enabled; } } - subElement = subElement.nextSiblingElement(tagName); } return mode; } @@ -308,20 +309,20 @@ void QXmppStreamFeatures::parse(const QDomElement &element) // parse advertised compression methods QDomElement compression = element.firstChildElement(QStringLiteral("compression")); if (compression.namespaceURI() == ns_compressFeature) { - QDomElement subElement = compression.firstChildElement(QStringLiteral("method")); - while (!subElement.isNull()) { + for (auto subElement = element.firstChildElement(QStringLiteral("method")); + !subElement.isNull(); + subElement = subElement.nextSiblingElement(QStringLiteral("method"))) { d->compressionMethods << subElement.text(); - subElement = subElement.nextSiblingElement(QStringLiteral("method")); } } // parse advertised SASL Authentication mechanisms QDomElement mechs = element.firstChildElement(QStringLiteral("mechanisms")); if (mechs.namespaceURI() == ns_sasl) { - QDomElement subElement = mechs.firstChildElement(QStringLiteral("mechanism")); - while (!subElement.isNull()) { + for (auto subElement = element.firstChildElement(QStringLiteral("mechanism")); + !subElement.isNull(); + subElement = subElement.nextSiblingElement(QStringLiteral("mechanism"))) { d->authMechanisms << subElement.text(); - subElement = subElement.nextSiblingElement(QStringLiteral("mechanism")); } } } |
