]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: monitor: Refactor cleanup in qemuMonitorJSONBlockStatsCollectData
authorPeter Krempa <pkrempa@redhat.com>
Mon, 16 Sep 2019 14:19:33 +0000 (16:19 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 25 Sep 2019 11:02:48 +0000 (13:02 +0200)
Use VIR_AUTOFREE and get rid of the cleanup label.

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

index b8ec9ac59a36f6daacce36d558892e8605cd4f59..a5384851e91da8c4bad2774853c6927a09136f9e 100644 (file)
@@ -2527,8 +2527,7 @@ static qemuBlockStatsPtr
 qemuMonitorJSONBlockStatsCollectData(virJSONValuePtr dev,
                                      int *nstats)
 {
-    qemuBlockStatsPtr bstats = NULL;
-    qemuBlockStatsPtr ret = NULL;
+    VIR_AUTOFREE(qemuBlockStatsPtr) bstats = NULL;
     virJSONValuePtr parent;
     virJSONValuePtr parentstats;
     virJSONValuePtr stats;
@@ -2537,11 +2536,11 @@ qemuMonitorJSONBlockStatsCollectData(virJSONValuePtr dev,
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("blockstats stats entry was not "
                          "in expected format"));
-        goto cleanup;
+        return NULL;
     }
 
     if (VIR_ALLOC(bstats) < 0)
-        goto cleanup;
+        return NULL;
 
 #define QEMU_MONITOR_BLOCK_STAT_GET(NAME, VAR, MANDATORY) \
     if (MANDATORY || virJSONValueObjectHasKey(stats, NAME)) { \
@@ -2549,7 +2548,7 @@ qemuMonitorJSONBlockStatsCollectData(virJSONValuePtr dev,
         if (virJSONValueObjectGetNumberLong(stats, NAME, &VAR) < 0) { \
             virReportError(VIR_ERR_INTERNAL_ERROR, \
                            _("cannot read %s statistic"), NAME); \
-            goto cleanup; \
+            return NULL; \
         } \
     }
     QEMU_MONITOR_BLOCK_STAT_GET("rd_bytes", bstats->rd_bytes, true);
@@ -2569,11 +2568,7 @@ qemuMonitorJSONBlockStatsCollectData(virJSONValuePtr dev,
             bstats->wr_highest_offset_valid = true;
     }
 
-    VIR_STEAL_PTR(ret, bstats);
-
- cleanup:
-    VIR_FREE(bstats);
-    return ret;
+    VIR_RETURN_PTR(bstats);
 }