]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuMigrationCapsToJSON: Refactor variable cleanup
authorPeter Krempa <pkrempa@redhat.com>
Wed, 19 Aug 2020 11:20:13 +0000 (13:20 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 24 Aug 2020 14:34:51 +0000 (16:34 +0200)
Use automatic memory allocation and move variables into correct scope to
simplify the code and remove the need for a 'error:' label.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_migration_params.c

index c22362735a9698201e3dcbb9397c2293c9aaaec5..9b6601367a442e531925abd810d5cc830b44b41f 100644 (file)
@@ -759,14 +759,12 @@ virJSONValuePtr
 qemuMigrationCapsToJSON(virBitmapPtr caps,
                         virBitmapPtr states)
 {
-    virJSONValuePtr json = NULL;
-    virJSONValuePtr cap = NULL;
+    g_autoptr(virJSONValue) json = virJSONValueNewArray();
     qemuMigrationCapability bit;
-    const char *name;
-
-    json = virJSONValueNewArray();
 
     for (bit = 0; bit < QEMU_MIGRATION_CAP_LAST; bit++) {
+        g_autoptr(virJSONValue) cap = virJSONValueNewObject();
+        const char *name = qemuMigrationCapabilityTypeToString(bit);
         bool supported = false;
         bool state = false;
 
@@ -776,27 +774,19 @@ qemuMigrationCapsToJSON(virBitmapPtr caps,
 
         ignore_value(virBitmapGetBit(states, bit, &state));
 
-        cap = virJSONValueNewObject();
-
-        name = qemuMigrationCapabilityTypeToString(bit);
         if (virJSONValueObjectAppendString(cap, "capability", name) < 0)
-            goto error;
+            return NULL;
 
         if (virJSONValueObjectAppendBoolean(cap, "state", state) < 0)
-            goto error;
+            return NULL;
 
         if (virJSONValueArrayAppend(json, cap) < 0)
-            goto error;
+            return NULL;
 
         cap = NULL;
     }
 
-    return json;
-
- error:
-    virJSONValueFree(json);
-    virJSONValueFree(cap);
-    return NULL;
+    return g_steal_pointer(&json);
 }