The migrate_set_parameter_completion function is the last user of the MigrationParameter enum. Write the code using an output visitor and QDict instead so we can remove the enum in a future patch.
Signed-off-by: Fabiano Rosas <[email protected]> --- migration/migration-hmp-cmds.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/migration/migration-hmp-cmds.c b/migration/migration-hmp-cmds.c index 5dfbb69390..720913255f 100644 --- a/migration/migration-hmp-cmds.c +++ b/migration/migration-hmp-cmds.c @@ -736,14 +736,19 @@ void migrate_set_capability_completion(ReadLineState *rs, int nb_args, void migrate_set_parameter_completion(ReadLineState *rs, int nb_args, const char *str) { + g_autoptr(QDict) d = NULL; + const QDictEntry *e; size_t len; + /* Temporarily borrow the global parameters */ + d = migrate_params_to_dict(&migrate_get_current()->parameters, + &error_abort); len = strlen(str); readline_set_completion_index(rs, len); if (nb_args == 2) { - int i; - for (i = 0; i < MIGRATION_PARAMETER__MAX; i++) { - readline_add_completion_of(rs, str, MigrationParameter_str(i)); + for (e = qdict_first(d); e; e = qdict_next(d, e)) { + const char *key = qdict_entry_key(e); + readline_add_completion_of(rs, str, key); } } } -- 2.53.0
