kconfig: Don't go out from read config loop when you read new symbol
Subsystems (3)
PATCH 1/1 kconfig: Don't go out from read config loop when you read new symbol
commit 8baefd30b5b0101aa07aa75da44a9eee881eed28 of linux-next replaced a switch()' statement with some if()' statements, but left break's in the switch()' statement untouched. This cause read config loop to exit and so "make oldconfig" is not much usable (see below).
Quoted 5 lines
$ make oldconfig <snip> scripts/kconfig/conf --oldconfig Kconfig # # using defaults found in /boot/config-2.6.34-ccs-r1
Quoted 8 lines
# * * Restart config... * * * General setup * Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [N/y/?] (NEW)
(I've already have "CONFIG_EXPERIMENTAL=y" in the old config file. But that's not read here.)
This patch should fix this problem.
--- scripts/kconfig/confdata.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
scripts/kconfig/confdata.c +3 -2
@@ -234,7 +234,7 @@ load: sym =sym_find (line +2 +strlen (CONFIG_ ));if (!sym) {sym_add_change_count (1 ); -break ; + goto setsym; } }else { sym =sym_lookup (line +2 +strlen (CONFIG_ ),0 );
@@ -268,7 +268,7 @@ load: sym =sym_find (line +strlen (CONFIG_ ));if (!sym) {sym_add_change_count (1 ); -break ; + goto setsym; } }else { sym =sym_lookup (line +strlen (CONFIG_ ),0 );
@@ -285,6 +285,7 @@ load:conf_warning ("unexpected data" );continue ; } +setsym:if (sym &&sym_is_choice_value (sym)) {struct symbol *cs =prop_get_symbol (sym_get_choice_prop (sym));switch (sym->def[def].tri) {
Signature · 1 line
1.7.3
Quoted 4 lines · Naohiro Aota
commit
8baefd30b5b0101aa07aa75da44a9eee881eed28of linux-next replaced aswitch()' statement with someif()' statements, but leftbreak's in theswitch()' statement untouched. This cause read config loop to exit and so "make oldconfig" is not much usable (see below).
Good catch, applied.
Michal