[libvirt PATCH v2 2/5] tests: Use g_autofree in testParseVMXFileName

Martin Kletzander mkletzan at redhat.com
Mon Dec 21 16:19:14 UTC 2020


There's only one variable to clean-up, others are just tokens inside that
variable, but it is nicer anyway.  Positive returns have not been converted
because the function will change soon and it would not make much sense.

Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
---
 tests/vmx2xmltest.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/tests/vmx2xmltest.c b/tests/vmx2xmltest.c
index 376116bb750a..8cc227bbedfc 100644
--- a/tests/vmx2xmltest.c
+++ b/tests/vmx2xmltest.c
@@ -130,7 +130,7 @@ testCompareHelper(const void *data)
 static char *
 testParseVMXFileName(const char *fileName, void *opaque G_GNUC_UNUSED)
 {
-    char *copyOfFileName = NULL;
+    g_autofree char *copyOfFileName = NULL;
     char *tmp = NULL;
     char *saveptr = NULL;
     char *datastoreName = NULL;
@@ -145,7 +145,7 @@ testParseVMXFileName(const char *fileName, void *opaque G_GNUC_UNUSED)
         if ((tmp = STRSKIP(copyOfFileName, "/vmfs/volumes/")) == NULL ||
             (datastoreName = strtok_r(tmp, "/", &saveptr)) == NULL ||
             (directoryAndFileName = strtok_r(NULL, "", &saveptr)) == NULL) {
-            goto cleanup;
+            return NULL;
         }
 
         src = g_strdup_printf("[%s] %s", datastoreName, directoryAndFileName);
@@ -154,15 +154,12 @@ testParseVMXFileName(const char *fileName, void *opaque G_GNUC_UNUSED)
         src = g_strdup(fileName);
     } else if (strchr(fileName, '/') != NULL) {
         /* Found relative path, this is not supported */
-        src = NULL;
+        return NULL;
     } else {
         /* Found single file name referencing a file inside a datastore */
         src = g_strdup_printf("[datastore] directory/%s", fileName);
     }
 
- cleanup:
-    VIR_FREE(copyOfFileName);
-
     return src;
 }
 
-- 
2.29.2




More information about the libvir-list mailing list