]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virNWFilterParseParamAttributes: Simplify loop body
authorTim Wiederhake <twiederh@redhat.com>
Wed, 14 Jul 2021 09:08:50 +0000 (11:08 +0200)
committerTim Wiederhake <twiederh@redhat.com>
Fri, 23 Jul 2021 09:27:05 +0000 (11:27 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/nwfilter_params.c

index 0b1676e25f457b19a5d0110cc5abc74173323e8c..63ab7e7150cdfec7260bf4dfe0339d5e70fa3d9c 100644 (file)
@@ -707,28 +707,22 @@ virNWFilterParseParamAttributes(xmlNodePtr cur)
             g_autofree char *nam = virXMLPropString(cur, "name");
             g_autofree char *val = virXMLPropString(cur, "value");
             g_autoptr(virNWFilterVarValue) value = NULL;
-            if (nam != NULL && val != NULL) {
-                if (!isValidVarName(nam))
-                    goto skip_entry;
-                if (!isValidVarValue(val))
-                    goto skip_entry;
-                value = virHashLookup(table, nam);
-                if (value) {
-                    /* add value to existing value -> list */
-                    if (virNWFilterVarValueAddValue(value, val) < 0) {
-                        value = NULL;
-                        goto err_exit;
-                    }
-                    val = NULL;
-                } else {
-                    value = virNWFilterParseVarValue(val);
-                    if (!value)
-                        goto skip_entry;
-                    if (virHashUpdateEntry(table, nam, value) < 0)
-                        goto err_exit;
-                }
-                value = NULL;
+
+            if (nam == NULL || !isValidVarName(nam) ||
+                val == NULL || !isValidVarValue(val)) {
+                goto skip_entry;
+            }
+
+            if ((value = virHashLookup(table, nam))) {
+                /* add value to existing value -> list */
+                if (virNWFilterVarValueAddValue(g_steal_pointer(&value), val) < 0)
+                    goto err_exit;
+                val = NULL;
+            } else if ((value = virNWFilterParseVarValue(val))) {
+                if (virHashUpdateEntry(table, nam, value) < 0)
+                    goto err_exit;
             }
+            value = NULL;
  skip_entry:
         }
         cur = xmlNextElementSibling(cur);