[PATCH 07/13] testQemuMonitorJSONGetCommands: Refactor cleanup

Peter Krempa pkrempa at redhat.com
Tue Jun 15 10:27:20 UTC 2021


Use g_auto(GStrv) for clearing the string list and thus remove the
'cleanup' section and 'ret' variable.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 tests/qemumonitorjsontest.c | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)

diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 0dce8f6ab5..5d03f83787 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -502,10 +502,8 @@ testQemuMonitorJSONGetCommands(const void *opaque)
 {
     const testGenericData *data = opaque;
     virDomainXMLOption *xmlopt = data->xmlopt;
-    int ret = -1;
-    char **commands = NULL;
+    g_auto(GStrv) commands = NULL;
     int ncommands = 0;
-    size_t i;
     g_autoptr(qemuMonitorTest) test = NULL;

     if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
@@ -525,16 +523,16 @@ testQemuMonitorJSONGetCommands(const void *opaque)
                                "   } "
                                "  ]"
                                "}") < 0)
-        goto cleanup;
+        return -1;

     if ((ncommands = qemuMonitorGetCommands(qemuMonitorTestGetMonitor(test),
                                         &commands)) < 0)
-        goto cleanup;
+        return -1;

     if (ncommands != 3) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        "ncommands %d is not 3", ncommands);
-        goto cleanup;
+        return -1;
     }

 #define CHECK(i, wantname) \
@@ -543,7 +541,7 @@ testQemuMonitorJSONGetCommands(const void *opaque)
             virReportError(VIR_ERR_INTERNAL_ERROR, \
                            "name %s is not %s", \
                            commands[i], (wantname)); \
-            goto cleanup; \
+            return -1; \
         } \
     } while (0)

@@ -552,13 +550,8 @@ testQemuMonitorJSONGetCommands(const void *opaque)
     CHECK(2, "quit");

 #undef CHECK
-    ret = 0;

- cleanup:
-    for (i = 0; i < ncommands; i++)
-        VIR_FREE(commands[i]);
-    VIR_FREE(commands);
-    return ret;
+    return 0;
 }


-- 
2.31.1




More information about the libvir-list mailing list