mirror of https://gitee.com/openkylin/libvirt.git
virsh: avoid compiler warning on mingw
We don't use gnulib's sanitizations for vfprintf, but vshDebug was used with %zu, which means that it would fail on mingw. Thank goodness the compiler indirectly caught this for us :) virsh.c: In function 'vshDebug': virsh.c:12105:5: warning: function might be possible candidate for 'ms_printf' format attribute [-Wmissing-format-attribute] since mingw <stdio.h> hasn't yet added gcc attributes to vfprintf. * tools/virsh.c (vshDebug): Avoid vfprintf. (vshPrintExtra): Use lighter-weight fputs. Reported by Matthias Bolte.
This commit is contained in:
parent
f37c29c8aa
commit
c63ec6e347
|
@ -12096,6 +12096,7 @@ static void
|
|||
vshDebug(vshControl *ctl, int level, const char *format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
char *str;
|
||||
|
||||
va_start(ap, format);
|
||||
vshOutputLogFile(ctl, VSH_ERR_DEBUG, format, ap);
|
||||
|
@ -12105,8 +12106,14 @@ vshDebug(vshControl *ctl, int level, const char *format, ...)
|
|||
return;
|
||||
|
||||
va_start(ap, format);
|
||||
vfprintf(stdout, format, ap);
|
||||
if (virVasprintf(&str, format, ap) < 0) {
|
||||
/* Skip debug messages on low memory */
|
||||
va_end(ap);
|
||||
return;
|
||||
}
|
||||
va_end(ap);
|
||||
fputs(str, stdout);
|
||||
VIR_FREE(str);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -12125,7 +12132,7 @@ vshPrintExtra(vshControl *ctl, const char *format, ...)
|
|||
return;
|
||||
}
|
||||
va_end(ap);
|
||||
fprintf(stdout, "%s", str);
|
||||
fputs(str, stdout);
|
||||
VIR_FREE(str);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue