monitor: Introduce monitor_call_handler() This commit moves the code which calls Monitor handlers to its own function, as it will be used by QMP code as well. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/monitor.c b/monitor.c index 1dda8cd..e202ba0 100644 --- a/monitor.c +++ b/monitor.c
@@ -3187,6 +3187,18 @@ mon->error = NULL; } +static void monitor_call_handler(Monitor *mon, const mon_cmd_t *cmd, + const QDict *params) +{ + QObject *data = NULL; + + cmd->mhandler.cmd_new(mon, params, &data); + if (data) + cmd->user_print(mon, data); + + qobject_decref(data); +} + static void monitor_handle_command(Monitor *mon, const char *cmdline) { QDict *qdict; @@ -3201,13 +3213,7 @@ qemu_errors_to_mon(mon); if (monitor_handler_ported(cmd)) { - QObject *data = NULL; - - cmd->mhandler.cmd_new(mon, qdict, &data); - if (data) - cmd->user_print(mon, data); - - qobject_decref(data); + monitor_call_handler(mon, cmd, qdict); } else { cmd->mhandler.cmd(mon, qdict); }