We're moving towards having no open-coded access to the MigrationParameters members. Instances of parameters enumeration are being removed.
The migrate_set_parameter_completion function is one of the last users of the MigrationParameter enum. Rewrite that code using an output visitor and QDict instead. Signed-off-by: Fabiano Rosas <[email protected]> --- migration/migration-hmp-cmds.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/migration/migration-hmp-cmds.c b/migration/migration-hmp-cmds.c index 00d2d310af..c63d7f1ccb 100644 --- a/migration/migration-hmp-cmds.c +++ b/migration/migration-hmp-cmds.c @@ -693,14 +693,20 @@ 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
