On Thu, Jul 13, 2017 at 01:02:30PM +0200, Ladi Prosek wrote:
> +/*
> + * Print an error message to current monitor if we have one, else to stderr.
> + * Format arguments like sprintf(). The resulting message should be a
> + * single phrase, with no trailing punctuation. The no-LF version allows
> + * additional text to be appended with error_printf() or error_vprintf().
> + * Make sure to always close with a newline after all text is printed.
> + * Prepends the current location.
> + * It's wrong to call this in a QMP monitor. Use error_setg() there.
> + */
> +void error_report_nolf(const char *fmt, ...)
> +{
> + va_list ap;
> +
> + va_start(ap, fmt);
> + error_vreport_nolf(fmt, ap);
> + va_end(ap);
> }
Each call to this function prepends the timestamp, so it cannot really
be used for a sequence of prints in a single line.
It's a little ugly but I expected something along the lines of
g_strdup_vprintf() in virtio_error():
char *msg;
va_start(ap, fmt);
msg = g_strdup_vprintf(fmt, ap);
va_end(ap);
error_report("%s: %s", DEVICE(vdev)->id, msg);
g_free(msg);
https://developer.gnome.org/glib/stable/glib-String-Utility-Functions.html#g-strdup-vprintf
Stefan
signature.asc
Description: PGP signature
