[PATCH 03/12] vsh: Use g_auto(GStrv) to free string list returned by completer callback

Michal Privoznik mprivozn at redhat.com
Thu Feb 4 14:13:28 UTC 2021


This saves us explicit call of g_strfreev() in error path.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 tools/vsh.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/tools/vsh.c b/tools/vsh.c
index cc777bee12..3cb657f582 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -2778,9 +2778,9 @@ vshReadlineParse(const char *text, int state)
                 list = vshReadlineOptionsGenerator(text, cmd, partial);
 
             if (opt && opt->completer) {
-                char **completer_list = opt->completer(autoCompleteOpaque,
-                                                       partial,
-                                                       opt->completer_flags);
+                g_auto(GStrv) completer_list = opt->completer(autoCompleteOpaque,
+                                                              partial,
+                                                              opt->completer_flags);
 
                 /* Escape completions, if needed (i.e. argument
                  * we are completing wasn't started with a quote
@@ -2805,7 +2805,6 @@ vshReadlineParse(const char *text, int state)
                 if (completer_list &&
                     (vshCompleterFilter(&completer_list, text) < 0 ||
                      virStringListMerge(&list, &completer_list) < 0)) {
-                    g_strfreev(completer_list);
                     goto cleanup;
                 }
             }
-- 
2.26.2




More information about the libvir-list mailing list