Lines Matching refs:sym
219 static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p) in conf_set_sym_val() argument
223 switch (sym->type) { in conf_set_sym_val()
226 sym->def[def].tri = mod; in conf_set_sym_val()
227 sym->flags |= def_flags; in conf_set_sym_val()
233 sym->def[def].tri = yes; in conf_set_sym_val()
234 sym->flags |= def_flags; in conf_set_sym_val()
238 sym->def[def].tri = no; in conf_set_sym_val()
239 sym->flags |= def_flags; in conf_set_sym_val()
244 p, sym->name); in conf_set_sym_val()
264 if (sym_string_valid(sym, p)) { in conf_set_sym_val()
265 sym->def[def].val = xstrdup(p); in conf_set_sym_val()
266 sym->flags |= def_flags; in conf_set_sym_val()
270 p, sym->name); in conf_set_sym_val()
341 struct symbol *sym; in conf_read_simple() local
398 for_all_symbols(i, sym) { in conf_read_simple()
399 sym->flags |= SYMBOL_CHANGED; in conf_read_simple()
400 sym->flags &= ~(def_flags|SYMBOL_VALID); in conf_read_simple()
401 if (sym_is_choice(sym)) in conf_read_simple()
402 sym->flags |= def_flags; in conf_read_simple()
403 switch (sym->type) { in conf_read_simple()
407 if (sym->def[def].val) in conf_read_simple()
408 free(sym->def[def].val); in conf_read_simple()
411 sym->def[def].val = NULL; in conf_read_simple()
412 sym->def[def].tri = no; in conf_read_simple()
418 sym = NULL; in conf_read_simple()
429 sym = sym_find(line + 2 + strlen(CONFIG_)); in conf_read_simple()
430 if (!sym) { in conf_read_simple()
435 sym = sym_lookup(line + 2 + strlen(CONFIG_), 0); in conf_read_simple()
436 if (sym->type == S_UNKNOWN) in conf_read_simple()
437 sym->type = S_BOOLEAN; in conf_read_simple()
439 if (sym->flags & def_flags) { in conf_read_simple()
440 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
442 switch (sym->type) { in conf_read_simple()
445 sym->def[def].tri = no; in conf_read_simple()
446 sym->flags |= def_flags; in conf_read_simple()
463 sym = sym_find(line + strlen(CONFIG_)); in conf_read_simple()
464 if (!sym) { in conf_read_simple()
478 if (sym->flags & def_flags) { in conf_read_simple()
479 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
481 if (conf_set_sym_val(sym, def, def_flags, p)) in conf_read_simple()
491 if (sym && sym_is_choice_value(sym)) { in conf_read_simple()
492 struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_read_simple()
493 switch (sym->def[def].tri) { in conf_read_simple()
498 conf_warning("%s creates inconsistent choice state", sym->name); in conf_read_simple()
504 conf_warning("override: %s changes choice state", sym->name); in conf_read_simple()
505 cs->def[def].val = sym; in conf_read_simple()
508 cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri); in conf_read_simple()
518 struct symbol *sym; in conf_read() local
531 for_all_symbols(i, sym) { in conf_read()
532 sym_calc_value(sym); in conf_read()
533 if (sym_is_choice(sym) || (sym->flags & SYMBOL_NO_WRITE)) in conf_read()
535 if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) { in conf_read()
537 switch (sym->type) { in conf_read()
540 if (sym->def[S_DEF_USER].tri == sym_get_tristate_value(sym)) in conf_read()
544 if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val)) in conf_read()
548 } else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE)) in conf_read()
555 for_all_symbols(i, sym) { in conf_read()
556 if (sym_has_value(sym) && !sym_is_choice_value(sym)) { in conf_read()
562 if (sym->visible == no && !conf_unsaved) in conf_read()
563 sym->flags &= ~SYMBOL_DEF_USER; in conf_read()
564 switch (sym->type) { in conf_read()
569 if (sym_string_within_range(sym, sym->def[S_DEF_USER].val)) in conf_read()
571 sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER); in conf_read()
668 static void __print_symbol(FILE *fp, struct symbol *sym, enum output_n output_n, in __print_symbol() argument
674 if (sym->type == S_UNKNOWN) in __print_symbol()
677 val = sym_get_string_value(sym); in __print_symbol()
679 if ((sym->type == S_BOOLEAN || sym->type == S_TRISTATE) && in __print_symbol()
682 fprintf(fp, "# %s%s is not set\n", CONFIG_, sym->name); in __print_symbol()
686 if (sym->type == S_STRING && escape_string) { in __print_symbol()
691 fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, val); in __print_symbol()
696 static void print_symbol_for_dotconfig(FILE *fp, struct symbol *sym) in print_symbol_for_dotconfig() argument
698 __print_symbol(fp, sym, OUTPUT_N_AS_UNSET, true); in print_symbol_for_dotconfig()
701 static void print_symbol_for_autoconf(FILE *fp, struct symbol *sym) in print_symbol_for_autoconf() argument
703 __print_symbol(fp, sym, OUTPUT_N_NONE, true); in print_symbol_for_autoconf()
706 void print_symbol_for_listconfig(struct symbol *sym) in print_symbol_for_listconfig() argument
708 __print_symbol(stdout, sym, OUTPUT_N, true); in print_symbol_for_listconfig()
711 static void print_symbol_for_c(FILE *fp, struct symbol *sym) in print_symbol_for_c() argument
718 if (sym->type == S_UNKNOWN) in print_symbol_for_c()
721 val = sym_get_string_value(sym); in print_symbol_for_c()
723 switch (sym->type) { in print_symbol_for_c()
747 fprintf(fp, "#define %s%s%s %s%s\n", CONFIG_, sym->name, sym_suffix, in print_symbol_for_c()
759 struct symbol *sym; in conf_write_defconfig() local
774 sym = menu->sym; in conf_write_defconfig()
775 if (sym == NULL) { in conf_write_defconfig()
778 } else if (!sym_is_choice(sym)) { in conf_write_defconfig()
779 sym_calc_value(sym); in conf_write_defconfig()
780 if (!(sym->flags & SYMBOL_WRITE)) in conf_write_defconfig()
782 sym->flags &= ~SYMBOL_WRITE; in conf_write_defconfig()
784 if (!sym_is_changeable(sym)) in conf_write_defconfig()
787 if (strcmp(sym_get_string_value(sym), sym_get_string_default(sym)) == 0) in conf_write_defconfig()
797 if (sym_is_choice_value(sym)) { in conf_write_defconfig()
801 cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_write_defconfig()
803 if (!sym_is_optional(cs) && sym == ds) { in conf_write_defconfig()
804 if ((sym->type == S_BOOLEAN) && in conf_write_defconfig()
805 sym_get_tristate_value(sym) == yes) in conf_write_defconfig()
809 print_symbol_for_dotconfig(out, sym); in conf_write_defconfig()
833 struct symbol *sym; in conf_write() local
876 sym = menu->sym; in conf_write()
877 if (!sym) { in conf_write()
886 } else if (!(sym->flags & SYMBOL_CHOICE) && in conf_write()
887 !(sym->flags & SYMBOL_WRITTEN)) { in conf_write()
888 sym_calc_value(sym); in conf_write()
889 if (!(sym->flags & SYMBOL_WRITE)) in conf_write()
895 sym->flags |= SYMBOL_WRITTEN; in conf_write()
896 print_symbol_for_dotconfig(out, sym); in conf_write()
907 if (!menu->sym && menu_is_visible(menu) && in conf_write()
921 for_all_symbols(i, sym) in conf_write()
922 sym->flags &= ~SYMBOL_WRITTEN; in conf_write()
996 struct symbol *sym; in conf_touch_deps() local
1006 for_all_symbols(i, sym) { in conf_touch_deps()
1007 sym_calc_value(sym); in conf_touch_deps()
1008 if ((sym->flags & SYMBOL_NO_WRITE) || !sym->name) in conf_touch_deps()
1010 if (sym->flags & SYMBOL_WRITE) { in conf_touch_deps()
1011 if (sym->flags & SYMBOL_DEF_AUTO) { in conf_touch_deps()
1016 switch (sym->type) { in conf_touch_deps()
1019 if (sym_get_tristate_value(sym) == in conf_touch_deps()
1020 sym->def[S_DEF_AUTO].tri) in conf_touch_deps()
1026 if (!strcmp(sym_get_string_value(sym), in conf_touch_deps()
1027 sym->def[S_DEF_AUTO].val)) in conf_touch_deps()
1038 switch (sym->type) { in conf_touch_deps()
1041 if (sym_get_tristate_value(sym) == no) in conf_touch_deps()
1048 } else if (!(sym->flags & SYMBOL_DEF_AUTO)) in conf_touch_deps()
1057 res = conf_touch_dep(sym->name); in conf_touch_deps()
1071 struct symbol *sym; in __conf_write_autoconf() local
1089 for_all_symbols(i, sym) in __conf_write_autoconf()
1090 if ((sym->flags & SYMBOL_WRITE) && sym->name) in __conf_write_autoconf()
1091 print_symbol(file, sym); in __conf_write_autoconf()
1109 struct symbol *sym; in conf_write_autoconf() local
1123 for_all_symbols(i, sym) in conf_write_autoconf()
1124 sym_calc_value(sym); in conf_write_autoconf()
1170 struct symbol *sym; in set_all_choice_values() local
1178 expr_list_for_each_sym(prop->expr, e, sym) { in set_all_choice_values()
1179 if (!sym_has_value(sym)) in set_all_choice_values()
1180 sym->def[S_DEF_USER].tri = no; in set_all_choice_values()