monitor: use dynamic cast in QMP commands
Rather than asserting monitor_is_qmp(), use a QOM cast via MONITOR_QMP which performs an assert already. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Tested-by: Peter Krempa <pkrempa@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20260706135824.2623960-20-berrange@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Daniel P. Berrangé committed
Jul 6, 2026 at 14:58 UTC
22440cf2b3c8edd181d8a9958caa1bb285f8428a
1 file changed
+2
-10
monitor/qmp-cmds-control.c
+2
-10
@@ -72,11 +72,7 @@ static bool qmp_caps_accept(MonitorQMP *mon, QMPCapabilityList *list,
72
void qmp_qmp_capabilities(bool has_enable, QMPCapabilityList *enable,
73
Error **errp)
74
{
75
- Monitor *cur_mon = monitor_cur();
76
- MonitorQMP *mon;
77
-
78
- assert(monitor_is_qmp(cur_mon));
79
- mon = container_of(cur_mon, MonitorQMP, parent_obj);
75
+ MonitorQMP *mon = MONITOR_QMP(monitor_cur());
76
77
if (mon->commands == &qmp_commands) {
78
error_set(errp, ERROR_CLASS_COMMAND_NOT_FOUND,
@@ -122,11 +118,7 @@ static void query_commands_cb(const QmpCommand *cmd, void *opaque)
118
CommandInfoList *qmp_query_commands(Error **errp)
119
{
120
CommandInfoList *list = NULL;
125
- Monitor *cur_mon = monitor_cur();
126
- MonitorQMP *mon;
127
-
128
- assert(monitor_is_qmp(cur_mon));
129
- mon = container_of(cur_mon, MonitorQMP, parent_obj);
121
+ MonitorQMP *mon = MONITOR_QMP(monitor_cur());
122
123
qmp_for_each_command(mon->commands, query_commands_cb, &list);
124