summaryrefslogtreecommitdiff
path: root/scripts/kconfig/conf.c
Side-by-side diff
Diffstat (limited to 'scripts/kconfig/conf.c') (more/less context) (ignore whitespace changes)
-rw-r--r--scripts/kconfig/conf.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 74c94c2..1602d5f 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -112,12 +112,13 @@ static void conf_askvalue(struct symbol *sym, const char *def)
printf("aborted!\n\n");
printf("Console input/output is redirected. ");
printf("Run 'make oldconfig' to update configuration.\n\n");
exit(1);
}
case ask_all:
+ fflush(stdout);
fgets(line, 128, stdin);
return;
case set_default:
printf("%s\n", def);
return;
default:
@@ -339,12 +340,14 @@ static int conf_choice(struct menu *menu)
return 1;
}
switch (input_mode) {
case ask_new:
case ask_silent:
case ask_all:
+ if (is_new)
+ sym->flags |= SYMBOL_NEW;
conf_askvalue(sym, menu_get_prompt(def_menu));
strip(line);
break;
default:
line[0] = 0;
printf("\n");
@@ -354,20 +357,20 @@ static int conf_choice(struct menu *menu)
if (menu->sym->help)
help = menu->sym->help;
printf("\n%s\n", help);
continue;
}
if (line[0]) {
- len = strlen(line) - 1;
+ len = strlen(line);
line[len] = 0;
def_menu = NULL;
for (cmenu = menu->list; cmenu; cmenu = cmenu->next) {
if (!cmenu->sym || !menu_is_visible(cmenu))
continue;
- if (!strncmp(line, menu_get_prompt(cmenu), len)) {
+ if (!strncasecmp(line, menu_get_prompt(cmenu), len)) {
def_menu = cmenu;
break;
}
}
}
if (def_menu) {