Convert monitor_printf() to a error API printfer and use error_printf_fn().
Cc: Markus Armbruster <arm...@redhat.com> Signed-off-by: Peter Crosthwaite <crosthwaite.pe...@gmail.com> --- hmp.c | 33 +++++++++++++-------------------- include/monitor/monitor.h | 2 +- monitor.c | 11 +++++------ stubs/mon-printf.c | 2 +- 4 files changed, 20 insertions(+), 28 deletions(-) diff --git a/hmp.c b/hmp.c index 3f807b7..82e1309 100644 --- a/hmp.c +++ b/hmp.c @@ -40,8 +40,7 @@ static void hmp_handle_error(Monitor *mon, Error **errp) { assert(errp); if (*errp) { - monitor_printf(mon, "%s\n", error_get_pretty(*errp)); - error_free(*errp); + error_printf_fn(*errp, monitor_printf, mon); } } @@ -534,8 +533,7 @@ void hmp_info_vnc(Monitor *mon, const QDict *qdict) info = qmp_query_vnc(&err); if (err) { - monitor_printf(mon, "%s\n", error_get_pretty(err)); - error_free(err); + error_printf_fn(err, monitor_printf, mon); return; } @@ -657,8 +655,7 @@ void hmp_info_balloon(Monitor *mon, const QDict *qdict) info = qmp_query_balloon(&err); if (err) { - monitor_printf(mon, "%s\n", error_get_pretty(err)); - error_free(err); + error_printf_fn(err, monitor_printf, mon); return; } @@ -926,8 +923,7 @@ void hmp_ringbuf_read(Monitor *mon, const QDict *qdict) data = qmp_ringbuf_read(chardev, size, false, 0, &err); if (err) { - monitor_printf(mon, "%s\n", error_get_pretty(err)); - error_free(err); + error_printf_fn(err, monitor_printf, mon); return; } @@ -1020,8 +1016,8 @@ void hmp_balloon(Monitor *mon, const QDict *qdict) qmp_balloon(value, &err); if (err) { - monitor_printf(mon, "balloon: %s\n", error_get_pretty(err)); - error_free(err); + error_prefix(err, "balloon: "); + error_printf_fn(err, monitor_printf, mon); } } @@ -1169,8 +1165,7 @@ void hmp_migrate_set_cache_size(Monitor *mon, const QDict *qdict) qmp_migrate_set_cache_size(value, &err); if (err) { - monitor_printf(mon, "%s\n", error_get_pretty(err)); - error_free(err); + error_printf_fn(err, monitor_printf, mon); return; } } @@ -1207,9 +1202,8 @@ void hmp_migrate_set_capability(Monitor *mon, const QDict *qdict) qapi_free_MigrationCapabilityStatusList(caps); if (err) { - monitor_printf(mon, "migrate_set_capability: %s\n", - error_get_pretty(err)); - error_free(err); + error_prefix(err, "migrate_set_capability: "); + error_printf_fn(err, monitor_printf, mon); } } @@ -1249,9 +1243,8 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict) } if (err) { - monitor_printf(mon, "migrate_set_parameter: %s\n", - error_get_pretty(err)); - error_free(err); + error_prefix(err, "migrate_set_parameter: "); + error_printf_fn(err, monitor_printf, mon); } } @@ -1483,8 +1476,8 @@ void hmp_migrate(Monitor *mon, const QDict *qdict) qmp_migrate(uri, !!blk, blk, !!inc, inc, false, false, &err); if (err) { - monitor_printf(mon, "migrate: %s\n", error_get_pretty(err)); - error_free(err); + error_prefix(err, "migrate: "); + error_printf_fn(err, monitor_printf, mon); return; } diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h index 9aff47e..2900a5c 100644 --- a/include/monitor/monitor.h +++ b/include/monitor/monitor.h @@ -33,7 +33,7 @@ int monitor_fd_param(Monitor *mon, const char *fdname, Error **errp); void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) GCC_FMT_ATTR(2, 0); -void monitor_printf(Monitor *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3); +void monitor_printf(void *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3); void monitor_flush(Monitor *mon); int monitor_set_cpu(int cpu_index); int monitor_get_cpu_index(void); diff --git a/monitor.c b/monitor.c index 5455ab9..b0747f4 100644 --- a/monitor.c +++ b/monitor.c @@ -363,11 +363,12 @@ void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) g_free(buf); } -void monitor_printf(Monitor *mon, const char *fmt, ...) +void monitor_printf(void *mon, const char *fmt, ...) { + Monitor *monitor = mon; va_list ap; va_start(ap, fmt); - monitor_vprintf(mon, fmt, ap); + monitor_vprintf(monitor, fmt, ap); va_end(ap); } @@ -1417,8 +1418,7 @@ static void hmp_boot_set(Monitor *mon, const QDict *qdict) qemu_boot_set(bootdevice, &local_err); if (local_err) { - monitor_printf(mon, "%s\n", error_get_pretty(local_err)); - error_free(local_err); + error_printf_fn(local_err, monitor_printf, mon); } else { monitor_printf(mon, "boot device list now set to %s\n", bootdevice); } @@ -5318,8 +5318,7 @@ static void bdrv_password_cb(void *opaque, const char *password, bdrv_add_key(bs, password, &local_err); if (local_err) { - monitor_printf(mon, "%s\n", error_get_pretty(local_err)); - error_free(local_err); + error_printf_fn(local_err, monitor_printf, mon); ret = -EPERM; } if (mon->password_completion_cb) diff --git a/stubs/mon-printf.c b/stubs/mon-printf.c index 0ce2ca6..97a0c2a 100644 --- a/stubs/mon-printf.c +++ b/stubs/mon-printf.c @@ -1,7 +1,7 @@ #include "qemu-common.h" #include "monitor/monitor.h" -void monitor_printf(Monitor *mon, const char *fmt, ...) +void monitor_printf(void *mon, const char *fmt, ...) { } -- 1.9.1