]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virshParseEventStr: Use g_strsplit and automatic memory freeing
authorPeter Krempa <pkrempa@redhat.com>
Mon, 22 Mar 2021 17:06:45 +0000 (18:06 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 12 Apr 2021 13:55:09 +0000 (15:55 +0200)
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tools/virsh-domain.c

index a778421b668d49dfa1bd75b49d0254ee630f4f77..86de4255fa95a96b62e9286f1920c41a5c5d2093 100644 (file)
@@ -9342,24 +9342,21 @@ virshParseEventStr(const char *event,
                    int *nparams,
                    int *maxparams)
 {
-    char **tok = NULL;
-    size_t i, ntok;
-    int ret = -1;
+    g_auto(GStrv) tok = NULL;
+    GStrv next;
 
-    if (!(tok = virStringSplitCount(event, ",", 0, &ntok)))
+    if (!(tok = g_strsplit(event, ",", 0)))
         return -1;
 
-    for (i = 0; i < ntok; i++) {
-        if ((*tok[i] != '\0') &&
-            virTypedParamsAddBoolean(params, nparams,
-                                     maxparams, tok[i], state) < 0)
-            goto cleanup;
+    for (next = tok; *next; next++) {
+        if (*next[0] == '\0')
+            continue;
+
+        if (virTypedParamsAddBoolean(params, nparams, maxparams, *next, state) < 0)
+            return -1;
     }
 
-    ret = 0;
- cleanup:
-    g_strfreev(tok);
-    return ret;
+    return 0;
 }
 
 static void