| 629 | } |
| 630 | |
| 631 | static void check_conf(struct menu *menu) |
| 632 | { |
| 633 | struct symbol *sym; |
| 634 | struct menu *child; |
| 635 | |
| 636 | if (!menu_is_visible(menu)) |
| 637 | return; |
| 638 | |
| 639 | sym = menu->sym; |
| 640 | if (sym && !sym_has_value(sym) && |
| 641 | (sym_is_changeable(sym) || |
| 642 | (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes))) { |
| 643 | |
| 644 | switch (input_mode) { |
| 645 | case listnewconfig: |
| 646 | if (sym->name) |
| 647 | print_symbol_for_listconfig(sym); |
| 648 | break; |
| 649 | case helpnewconfig: |
| 650 | printf("-----\n"); |
| 651 | print_help(menu); |
| 652 | printf("-----\n"); |
| 653 | break; |
| 654 | default: |
| 655 | if (!conf_cnt++) |
| 656 | printf("*\n* Restart config...\n*\n"); |
| 657 | rootEntry = menu_get_parent_menu(menu); |
| 658 | conf(rootEntry); |
| 659 | break; |
| 660 | } |
| 661 | } |
| 662 | |
| 663 | for (child = menu->list; child; child = child->next) |
| 664 | check_conf(child); |
| 665 | } |
| 666 | |
| 667 | static const struct option long_opts[] = { |
| 668 | {"help", no_argument, NULL, 'h'}, |
no test coverage detected