aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2023-05-13 17:45:25 +0200
committerLinus Jahn <lnj@kaidan.im>2023-05-13 17:45:25 +0200
commitfbb96a37f1c118c14fd158173e0d691022183ee3 (patch)
tree24e4a988dec79941107e3221e0e29fae2714968c
parent9a0af523a8256484ae7c53bda923e6e44bafcb2e (diff)
Replace some while loops over QDomElements
-rw-r--r--src/base/QXmppBitsOfBinaryData.cpp6
-rw-r--r--src/base/QXmppBitsOfBinaryIq.cpp12
-rw-r--r--src/base/QXmppElement.cpp6
-rw-r--r--src/base/QXmppIq.cpp7
-rw-r--r--src/base/QXmppStanza.cpp12
-rw-r--r--src/base/QXmppStreamFeatures.cpp19
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"));
}
}
}