(void) errmsg;
if (!strcmp(question, "config/names")) {
smartlist_t *sl = smartlist_new();
- int i;
- for (i = 0; option_vars_[i].member.name; ++i) {
- const config_var_t *var = &option_vars_[i];
+ smartlist_t *vars = config_mgr_list_vars(get_options_mgr());
+ SMARTLIST_FOREACH_BEGIN(vars, const config_var_t *, var) {
- /* don't tell controller about triple-underscore options */
- if (var->flags & CVFLAG_INVISIBLE)
+ /* don't tell controller about invisible options */
+ if (config_var_is_invisible(var))
continue;
const char *type = struct_var_get_typename(&var->member);
if (!type)
continue;
}
/* Don't save 'hidden' control variables. */
- if (! config_var_is_dumpable(&fmt->vars[i]))
- if (mv->cvar->flags & CVFLAG_NODUMP)
++ if (! config_var_is_dumpable(mv->cvar))
continue;
- if (minimal && config_is_same(fmt, options, defaults,
- fmt->vars[i].member.name))
+ const char *name = mv->cvar->member.name;
+ if (minimal && config_is_same(mgr, options, defaults, name))
continue;
else if (comment_defaults &&
- config_is_same(fmt, options, defaults, fmt->vars[i].member.name))
+ config_is_same(mgr, options, defaults, name))
comment_option = 1;
line = assigned =