@@ -730,11 +730,12 @@ static void qmp_query_version(Monitor *mon, QObject **ret_data)
'micro': %d }, 'package': %s }", major, minor, micro, QEMU_PKGVERSION);
}
-static void do_info_version_print(Monitor *mon, const QObject *data)
+static void do_info_version(Monitor *mon)
{
- QDict *qdict;
- QDict *qemu;
+ QDict *qdict, *qemu;
+ QObject *data;
+ qmp_query_version(NULL, &data);
qdict = qobject_to_qdict(data);
qemu = qdict_get_qdict(qdict, "qemu");
@@ -743,6 +744,8 @@ static void do_info_version_print(Monitor *mon, const QObject *data)
qdict_get_int(qemu, "minor"),
qdict_get_int(qemu, "micro"),
qdict_get_str(qdict, "package"));
+
+ qobject_decref(data);
}
static void do_info_name_print(Monitor *mon, const QObject *data)
@@ -2385,8 +2388,7 @@ static const mon_cmd_t info_cmds[] = {
.args_type = "",
.params = "",
.help = "show the version of QEMU",
- .user_print = do_info_version_print,
- .mhandler.info_new = qmp_query_version,
+ .mhandler.info = do_info_version,
},
{
.name = "network",
The new handler directly calls qmp_query_version() to gather data and then prints it. This change allows us to drop the user_print callback. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> --- monitor.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-)