[PATCH 4/5] qemu_driver.c: modernize qemuConnectCPUModelComparison()

Daniel Henrique Barboza danielhb413 at gmail.com
Fri Jul 17 21:15:55 UTC 2020


Use g_auto* on pointers to avoid using the 'cleanup' label.

In theory the 'ret' variable can also be discarded if the flow
of the logic is reworked. Perhaps another time.

Signed-off-by: Daniel Henrique Barboza <danielhb413 at gmail.com>
---
 src/qemu/qemu_driver.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index d73d093465..393a7e27cb 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -13147,19 +13147,19 @@ qemuConnectCPUModelComparison(virQEMUCapsPtr qemuCaps,
                               virCPUDefPtr cpu_b,
                               bool failIncompatible)
 {
-    qemuProcessQMPPtr proc = NULL;
-    char *result = NULL;
+    g_autoptr(qemuProcessQMP) proc = NULL;
+    g_autofree char *result = NULL;
     int ret = VIR_CPU_COMPARE_ERROR;
 
     if (!(proc = qemuProcessQMPNew(virQEMUCapsGetBinary(qemuCaps),
                                    libDir, runUid, runGid, false)))
-        goto cleanup;
+        return VIR_CPU_COMPARE_ERROR;
 
     if (qemuProcessQMPStart(proc) < 0)
-        goto cleanup;
+        return VIR_CPU_COMPARE_ERROR;
 
     if (qemuMonitorGetCPUModelComparison(proc->mon, cpu_a, cpu_b, &result) < 0)
-        goto cleanup;
+        return VIR_CPU_COMPARE_ERROR;
 
     if (STREQ(result, "identical"))
         ret = VIR_CPU_COMPARE_IDENTICAL;
@@ -13170,9 +13170,6 @@ qemuConnectCPUModelComparison(virQEMUCapsPtr qemuCaps,
     else
         ret = VIR_CPU_COMPARE_INCOMPATIBLE;
 
- cleanup:
-    VIR_FREE(result);
-    qemuProcessQMPFree(proc);
     return ret;
 }
 
-- 
2.26.2




More information about the libvir-list mailing list