add 'reset to defaults' to menuconfig
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4080 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
b8852bf072
commit
eaf2344f8d
|
@ -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 New Issue