Index: kernel-source-2.5/scripts/kconfig/confdata.c =================================================================== RCS file: /home/gondolin/herbert/src/CVS/debian/kernel-source-2.5/scripts/kconfig/confdata.c,v retrieving revision 1.1.1.3 diff -u -r1.1.1.3 confdata.c --- kernel-source-2.5/scripts/kconfig/confdata.c 17 Jun 2003 04:20:26 -0000 1.1.1.3 +++ kernel-source-2.5/scripts/kconfig/confdata.c 12 Jul 2003 07:24:35 -0000 @@ -149,7 +149,7 @@ sym = sym_find(line + 7); if (!sym) { fprintf(stderr, "%s:%d: trying to assign nonexistent symbol %s\n", name, lineno, line + 7); - break; + continue; } switch (sym->type) { case S_TRISTATE: @@ -197,29 +197,28 @@ default: ; } - if (sym_is_choice_value(sym)) { - struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); - switch (sym->user.tri) { - case mod: - if (cs->user.tri == yes) - /* warn? */; - break; - case yes: - if (cs->user.tri != no) - /* warn? */; - cs->user.val = sym; - break; - case no: - break; - } - cs->user.tri = sym->user.tri; - } - break; - case '\n': break; default: continue; } + if (sym_is_choice_value(sym)) { + struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); + switch (sym->user.tri) { + case mod: + if (cs->user.tri == yes) + /* warn? */; + break; + case yes: + if (cs->user.tri != no) + /* warn? */; + cs->user.val = sym; + break; + case no: + break; + } + cs->user.tri = E_OR(cs->user.tri, sym->user.tri); + cs->flags &= ~SYMBOL_NEW; + } } fclose(in); @@ -241,7 +240,6 @@ if (!sym_is_choice(sym)) continue; prop = sym_get_choice_prop(sym); - sym->flags &= ~SYMBOL_NEW; for (e = prop->expr; e; e = e->left.expr) if (e->right.sym->visible != no) sym->flags |= e->right.sym->flags & SYMBOL_NEW;