]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
vshPrint: Add version using 'va_list'
authorPeter Krempa <pkrempa@redhat.com>
Thu, 13 Apr 2023 07:19:27 +0000 (09:19 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 14 Apr 2023 13:22:02 +0000 (15:22 +0200)
Add a version for functions which may already need to take a printf
format string.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
tools/vsh.c
tools/vsh.h

index 5b672b8edf3e90186455bc57387f870a3dde18b1..41f55a91faa449856469b8c781abc0ca92ab1d76 100644 (file)
@@ -1865,34 +1865,46 @@ vshDebug(vshControl *ctl, int level, const char *format, ...)
     fflush(stdout);
 }
 
+
 void
-vshPrintExtra(vshControl *ctl, const char *format, ...)
+vshPrintVa(vshControl *ctl G_GNUC_UNUSED,
+           const char *format,
+           va_list ap)
 {
-    va_list ap;
     g_autofree char *str = NULL;
 
+    str = g_strdup_vprintf(format, ap);
+    fputs(str, stdout);
+    fflush(stdout);
+}
+
+
+void
+vshPrintExtra(vshControl *ctl,
+              const char *format,
+              ...)
+{
+    va_list ap;
+
     if (ctl && ctl->quiet)
         return;
 
     va_start(ap, format);
-    str = g_strdup_vprintf(format, ap);
+    vshPrintVa(ctl, format, ap);
     va_end(ap);
-    fputs(str, stdout);
-    fflush(stdout);
 }
 
 
 void
-vshPrint(vshControl *ctl G_GNUC_UNUSED, const char *format, ...)
+vshPrint(vshControl *ctl,
+         const char *format,
+         ...)
 {
     va_list ap;
-    g_autofree char *str = NULL;
 
     va_start(ap, format);
-    str = g_strdup_vprintf(format, ap);
+    vshPrintVa(ctl, format, ap);
     va_end(ap);
-    fputs(str, stdout);
-    fflush(stdout);
 }
 
 
index 51f09cd2b0397c59c3b07e493ef5fcbb516bf364..377c5947c160aef737b7d93b284215e8d18a6d59 100644 (file)
@@ -302,6 +302,10 @@ const vshCmdOpt *vshCommandOptArgv(vshControl *ctl, const vshCmd *cmd,
 bool vshCommandArgvParse(vshControl *ctl, int nargs, char **argv);
 int vshCommandOptTimeoutToMs(vshControl *ctl, const vshCmd *cmd, int *timeout);
 
+void vshPrintVa(vshControl *ctl,
+                const char *format,
+                va_list ap)
+    G_GNUC_PRINTF(2, 0);
 void vshPrint(vshControl *ctl, const char *format, ...)
     G_GNUC_PRINTF(2, 3);
 void vshPrintExtra(vshControl *ctl, const char *format, ...)