- pull "kconfig: oldconfig shall not set symbols if it does not need to"

This commit is contained in:
Bernhard Reutner-Fischer 2007-09-29 20:21:38 +00:00
parent c907326465
commit e6382c49a4

View File

@ -64,7 +64,7 @@ static void check_stdin(void)
}
}
static void conf_askvalue(struct symbol *sym, const char *def)
static int conf_askvalue(struct symbol *sym, const char *def)
{
enum symbol_type type = sym_get_type(sym);
tristate val;
@ -79,7 +79,7 @@ static void conf_askvalue(struct symbol *sym, const char *def)
printf("%s\n", def);
line[0] = '\n';
line[1] = 0;
return;
return 0;
}
switch (input_mode) {
@ -89,23 +89,23 @@ static void conf_askvalue(struct symbol *sym, const char *def)
case set_random:
if (sym_has_value(sym)) {
printf("%s\n", def);
return;
return 0;
}
break;
case ask_new:
case ask_silent:
if (sym_has_value(sym)) {
printf("%s\n", def);
return;
return 0;
}
check_stdin();
case ask_all:
fflush(stdout);
fgets(line, 128, stdin);
return;
return 1;
case set_default:
printf("%s\n", def);
return;
return 1;
default:
break;
}
@ -115,7 +115,7 @@ static void conf_askvalue(struct symbol *sym, const char *def)
case S_HEX:
case S_STRING:
printf("%s\n", def);
return;
return 1;
default:
;
}
@ -166,6 +166,7 @@ static void conf_askvalue(struct symbol *sym, const char *def)
break;
}
printf("%s", line);
return 1;
}
int conf_string(struct menu *menu)
@ -179,7 +180,8 @@ int conf_string(struct menu *menu)
def = sym_get_string_value(sym);
if (sym_get_string_value(sym))
printf("[%s] ", def);
conf_askvalue(sym, def);
if (!conf_askvalue(sym, def))
return 0;
switch (line[0]) {
case '\n':
break;
@ -236,7 +238,8 @@ static int conf_sym(struct menu *menu)
if (sym->help)
printf("/?");
printf("] ");
conf_askvalue(sym, sym_get_string_value(sym));
if (!conf_askvalue(sym, sym_get_string_value(sym)))
return 0;
strip(line);
switch (line[0]) {