@@ -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;
}
@@ -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);
@@ -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)
@@ -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, ...)
{
}
Convert monitor_printf() to a error API printfer and use error_printf_fn(). Cc: Markus Armbruster <armbru@redhat.com> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@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(-)