This will let the caller add several list of commands coming from different schemas (the following patches split the schemas for common and arch-specific parts).
Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- scripts/qapi/commands.py | 2 -- monitor.c | 1 + qga/main.c | 1 + tests/test-qmp-cmds.c | 1 + 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py index 40bb680b7c..3d3e97f737 100644 --- a/scripts/qapi/commands.py +++ b/scripts/qapi/commands.py @@ -220,8 +220,6 @@ def gen_registry(registry, prefix): void %(c_prefix)sqmp_init_marshal(QmpCommandList *cmds) { - QTAILQ_INIT(cmds); - ''', c_prefix=c_name(prefix, protect=False)) ret += registry diff --git a/monitor.c b/monitor.c index 88e6fd2e6f..0d84c3edb4 100644 --- a/monitor.c +++ b/monitor.c @@ -1121,6 +1121,7 @@ static void monitor_init_qmp_commands(void) * "qmp_capabilities", to enforce capability negotiation */ + QTAILQ_INIT(&qmp_commands); qmp_init_marshal(&qmp_commands); qmp_register_command(&qmp_commands, "query-qmp-schema", diff --git a/qga/main.c b/qga/main.c index df1888edc1..6905c82b6c 100644 --- a/qga/main.c +++ b/qga/main.c @@ -1364,6 +1364,7 @@ int main(int argc, char **argv) config->log_level = G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL; + QTAILQ_INIT(&ga_commands); qga_qmp_init_marshal(&ga_commands); init_dfl_pathnames(); diff --git a/tests/test-qmp-cmds.c b/tests/test-qmp-cmds.c index e675722593..e723b440ca 100644 --- a/tests/test-qmp-cmds.c +++ b/tests/test-qmp-cmds.c @@ -285,6 +285,7 @@ int main(int argc, char **argv) g_test_add_func("/0.15/dealloc_types", test_dealloc_types); g_test_add_func("/0.15/dealloc_partial", test_dealloc_partial); + QTAILQ_INIT(&qmp_commands); test_qmp_init_marshal(&qmp_commands); g_test_run(); -- 2.16.2.521.g9aa15f885a