add 'reset to defaults' to menuconfig
SVN-Revision: 4080
This commit is contained in:
parent
611f3ded07
commit
49e12766bc
3 changed files with 29 additions and 0 deletions
|
@ -83,6 +83,29 @@ char *conf_get_default_confname(void)
|
|||
return name;
|
||||
}
|
||||
|
||||
void conf_reset(void)
|
||||
{
|
||||
struct symbol *sym;
|
||||
int i;
|
||||
|
||||
for_all_symbols(i, sym) {
|
||||
sym->flags |= SYMBOL_NEW | SYMBOL_CHANGED;
|
||||
if (sym_is_choice(sym))
|
||||
sym->flags &= ~SYMBOL_NEW;
|
||||
sym->flags &= ~SYMBOL_VALID;
|
||||
switch (sym->type) {
|
||||
case S_INT:
|
||||
case S_HEX:
|
||||
case S_STRING:
|
||||
if (sym->user.val)
|
||||
free(sym->user.val);
|
||||
default:
|
||||
sym->user.val = NULL;
|
||||
sym->user.tri = no;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int conf_read_simple(const char *name)
|
||||
{
|
||||
FILE *in = NULL;
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
/* confdata.c */
|
||||
P(conf_parse,void,(const char *name));
|
||||
P(conf_read,int,(const char *name));
|
||||
P(conf_reset,void,(void));
|
||||
P(conf_read_simple,int,(const char *name));
|
||||
P(conf_write,int,(const char *name));
|
||||
|
||||
|
|
|
@ -737,6 +737,8 @@ static void conf(struct menu *menu)
|
|||
if (menu == &rootmenu) {
|
||||
cprint(":");
|
||||
cprint("--- ");
|
||||
cprint("D");
|
||||
cprint(_(" Reset to defaults"));
|
||||
cprint("L");
|
||||
cprint(_(" Load an Alternate Configuration File"));
|
||||
cprint("S");
|
||||
|
@ -783,6 +785,9 @@ static void conf(struct menu *menu)
|
|||
case 's':
|
||||
conf_string(submenu);
|
||||
break;
|
||||
case 'D':
|
||||
conf_reset();
|
||||
break;
|
||||
case 'L':
|
||||
conf_load();
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue