virsh: Refactor vshError

The code is moved into a newly introduced generic vshPrintStderr and
vshError changed into a tiny wrapper.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Jiri Denemark 2025-02-20 13:12:22 +01:00
parent ddef7271fd
commit c12f92a05e

View File

@ -2111,18 +2111,18 @@ vshTTYMakeRaw(vshControl *ctl G_GNUC_UNUSED,
}
void
vshError(vshControl *ctl, const char *format, ...)
static void G_GNUC_PRINTF(3, 0)
vshPrintStderr(vshControl *ctl,
int level,
const char *format,
va_list ap)
{
va_list ap;
g_autofree char *str = NULL;
va_start(ap, format);
str = g_strdup_vprintf(format, ap);
va_end(ap);
if (ctl)
vshOutputLogFile(ctl, VSH_ERR_ERROR, str);
vshOutputLogFile(ctl, level, str);
/* Most output is to stdout, but if someone ran virsh 2>&1, then
* printing to stderr will not interleave correctly with stdout
@ -2133,6 +2133,17 @@ vshError(vshControl *ctl, const char *format, ...)
}
void
vshError(vshControl *ctl, const char *format, ...)
{
va_list ap;
va_start(ap, format);
vshPrintStderr(ctl, VSH_ERR_ERROR, format, ap);
va_end(ap);
}
void
vshEventLoop(void *opaque)
{