Lines Matching refs:sym

80 	struct symbol *sym;  in conf_expand_value()  local
94 sym = sym_lookup(name, 0); in conf_expand_value()
95 sym_calc_value(sym); in conf_expand_value()
96 strcat(res_value, sym_get_string_value(sym)); in conf_expand_value()
120 static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p) in conf_set_sym_val() argument
124 switch (sym->type) { in conf_set_sym_val()
127 sym->def[def].tri = mod; in conf_set_sym_val()
128 sym->flags |= def_flags; in conf_set_sym_val()
133 sym->def[def].tri = yes; in conf_set_sym_val()
134 sym->flags |= def_flags; in conf_set_sym_val()
138 sym->def[def].tri = no; in conf_set_sym_val()
139 sym->flags |= def_flags; in conf_set_sym_val()
142 conf_warning("symbol value '%s' invalid for %s", p, sym->name); in conf_set_sym_val()
148 sym->type = S_STRING; in conf_set_sym_val()
168 if (sym_string_valid(sym, p)) { in conf_set_sym_val()
169 sym->def[def].val = strdup(p); in conf_set_sym_val()
170 sym->flags |= def_flags; in conf_set_sym_val()
172 conf_warning("symbol value '%s' invalid for %s", p, sym->name); in conf_set_sym_val()
187 struct symbol *sym; in conf_read_simple() local
210 name = conf_expand_value(prop->expr->left.sym->name); in conf_read_simple()
229 for_all_symbols(i, sym) { in conf_read_simple()
230 sym->flags |= SYMBOL_CHANGED; in conf_read_simple()
231 sym->flags &= ~(def_flags|SYMBOL_VALID); in conf_read_simple()
232 if (sym_is_choice(sym)) in conf_read_simple()
233 sym->flags |= def_flags; in conf_read_simple()
234 switch (sym->type) { in conf_read_simple()
238 if (sym->def[def].val) in conf_read_simple()
239 free(sym->def[def].val); in conf_read_simple()
241 sym->def[def].val = NULL; in conf_read_simple()
242 sym->def[def].tri = no; in conf_read_simple()
248 sym = NULL; in conf_read_simple()
259 sym = sym_find(line + 2 + strlen(CONFIG_)); in conf_read_simple()
260 if (!sym) { in conf_read_simple()
265 sym = sym_lookup(line + 2 + strlen(CONFIG_), 0); in conf_read_simple()
266 if (sym->type == S_UNKNOWN) in conf_read_simple()
267 sym->type = S_BOOLEAN; in conf_read_simple()
269 if (sym->flags & def_flags) { in conf_read_simple()
270 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
272 switch (sym->type) { in conf_read_simple()
275 sym->def[def].tri = no; in conf_read_simple()
276 sym->flags |= def_flags; in conf_read_simple()
293 sym = sym_find(line + strlen(CONFIG_)); in conf_read_simple()
294 if (!sym) { in conf_read_simple()
299 sym = sym_lookup(line + strlen(CONFIG_), 0); in conf_read_simple()
300 if (sym->type == S_UNKNOWN) in conf_read_simple()
301 sym->type = S_OTHER; in conf_read_simple()
303 if (sym->flags & def_flags) { in conf_read_simple()
304 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
306 if (conf_set_sym_val(sym, def, def_flags, p)) in conf_read_simple()
314 if (sym && sym_is_choice_value(sym)) { in conf_read_simple()
315 struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_read_simple()
316 switch (sym->def[def].tri) { in conf_read_simple()
321 conf_warning("%s creates inconsistent choice state", sym->name); in conf_read_simple()
327 conf_warning("override: %s changes choice state", sym->name); in conf_read_simple()
328 cs->def[def].val = sym; in conf_read_simple()
331 cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri); in conf_read_simple()
343 struct symbol *sym, *choice_sym; in conf_read() local
353 for_all_symbols(i, sym) { in conf_read()
354 sym_calc_value(sym); in conf_read()
355 if (sym_is_choice(sym) || (sym->flags & SYMBOL_AUTO)) in conf_read()
357 if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) { in conf_read()
359 switch (sym->type) { in conf_read()
362 if (sym->def[S_DEF_USER].tri != sym_get_tristate_value(sym)) in conf_read()
364 if (!sym_is_choice(sym)) in conf_read()
367 if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val)) in conf_read()
371 } else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE)) in conf_read()
377 if (!sym_is_choice(sym)) in conf_read()
382 prop = sym_get_choice_prop(sym); in conf_read()
383 flags = sym->flags; in conf_read()
387 sym->flags &= flags | ~SYMBOL_DEF_USER; in conf_read()
390 for_all_symbols(i, sym) { in conf_read()
391 if (sym_has_value(sym) && !sym_is_choice_value(sym)) { in conf_read()
397 if (sym->visible == no && !conf_unsaved) in conf_read()
398 sym->flags &= ~SYMBOL_DEF_USER; in conf_read()
399 switch (sym->type) { in conf_read()
404 if (sym_string_within_range(sym, sym->def[S_DEF_USER].val)) in conf_read()
406 sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER); in conf_read()
443 static void conf_write_symbol(struct symbol *sym, FILE *out, bool write_no) in conf_write_symbol() argument
447 switch (sym->type) { in conf_write_symbol()
450 switch (sym_get_tristate_value(sym)) { in conf_write_symbol()
454 CONFIG_, sym->name); in conf_write_symbol()
457 fprintf(out, "%s%s=m\n", CONFIG_, sym->name); in conf_write_symbol()
460 fprintf(out, "%s%s=y\n", CONFIG_, sym->name); in conf_write_symbol()
465 conf_write_string(false, sym->name, sym_get_string_value(sym), out); in conf_write_symbol()
469 str = sym_get_string_value(sym); in conf_write_symbol()
470 fprintf(out, "%s%s=%s\n", CONFIG_, sym->name, str); in conf_write_symbol()
484 struct symbol *sym; in conf_write_defconfig() local
499 sym = menu->sym; in conf_write_defconfig()
500 if (sym == NULL) { in conf_write_defconfig()
503 } else if (!sym_is_choice(sym)) { in conf_write_defconfig()
504 sym_calc_value(sym); in conf_write_defconfig()
505 if (!(sym->flags & SYMBOL_WRITE)) in conf_write_defconfig()
507 sym->flags &= ~SYMBOL_WRITE; in conf_write_defconfig()
509 if (!sym_is_changable(sym)) in conf_write_defconfig()
512 if (strcmp(sym_get_string_value(sym), sym_get_string_default(sym)) == 0) in conf_write_defconfig()
522 if (sym_is_choice_value(sym)) { in conf_write_defconfig()
526 cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_write_defconfig()
528 if (!sym_is_optional(cs) && sym == ds) { in conf_write_defconfig()
529 if ((sym->type == S_BOOLEAN) && in conf_write_defconfig()
530 sym_get_tristate_value(sym) == yes) in conf_write_defconfig()
534 conf_write_symbol(sym, out, true); in conf_write_defconfig()
558 struct symbol *sym; in conf_write() local
610 sym = menu->sym; in conf_write()
611 if (!sym) { in conf_write()
619 } else if (!(sym->flags & SYMBOL_CHOICE)) { in conf_write()
620 sym_calc_value(sym); in conf_write()
621 if (!(sym->flags & SYMBOL_WRITE)) in conf_write()
623 sym->flags &= ~SYMBOL_WRITE; in conf_write()
625 conf_write_symbol(sym, out, true); in conf_write()
664 struct symbol *sym; in conf_split_config() local
675 for_all_symbols(i, sym) { in conf_split_config()
676 sym_calc_value(sym); in conf_split_config()
677 if ((sym->flags & SYMBOL_AUTO) || !sym->name) in conf_split_config()
679 if (sym->flags & SYMBOL_WRITE) { in conf_split_config()
680 if (sym->flags & SYMBOL_DEF_AUTO) { in conf_split_config()
685 switch (sym->type) { in conf_split_config()
688 if (sym_get_tristate_value(sym) == in conf_split_config()
689 sym->def[S_DEF_AUTO].tri) in conf_split_config()
695 if (!strcmp(sym_get_string_value(sym), in conf_split_config()
696 sym->def[S_DEF_AUTO].val)) in conf_split_config()
707 switch (sym->type) { in conf_split_config()
710 if (sym_get_tristate_value(sym) == no) in conf_split_config()
717 } else if (!(sym->flags & SYMBOL_DEF_AUTO)) in conf_split_config()
727 s = sym->name; in conf_split_config()
773 struct symbol *sym; in conf_write_autoconf() local
819 for_all_symbols(i, sym) { in conf_write_autoconf()
820 sym_calc_value(sym); in conf_write_autoconf()
821 if (!(sym->flags & SYMBOL_WRITE) || !sym->name) in conf_write_autoconf()
825 conf_write_symbol(sym, out, false); in conf_write_autoconf()
828 switch (sym->type) { in conf_write_autoconf()
831 switch (sym_get_tristate_value(sym)) { in conf_write_autoconf()
836 CONFIG_, sym->name); in conf_write_autoconf()
838 CONFIG_, sym->name); in conf_write_autoconf()
841 if (sym->type == S_TRISTATE) in conf_write_autoconf()
843 CONFIG_, sym->name); in conf_write_autoconf()
845 CONFIG_, sym->name); in conf_write_autoconf()
850 conf_write_string(true, sym->name, sym_get_string_value(sym), out_h); in conf_write_autoconf()
853 str = sym_get_string_value(sym); in conf_write_autoconf()
856 CONFIG_, sym->name, str); in conf_write_autoconf()
860 str = sym_get_string_value(sym); in conf_write_autoconf()
862 CONFIG_, sym->name, str); in conf_write_autoconf()
925 struct symbol *sym; in randomize_choice_values() local
941 expr_list_for_each_sym(prop->expr, e, sym) in randomize_choice_values()
951 expr_list_for_each_sym(prop->expr, e, sym) { in randomize_choice_values()
953 sym->def[S_DEF_USER].tri = yes; in randomize_choice_values()
954 csym->def[S_DEF_USER].val = sym; in randomize_choice_values()
957 sym->def[S_DEF_USER].tri = no; in randomize_choice_values()
968 struct symbol *sym; in set_all_choice_values() local
976 expr_list_for_each_sym(prop->expr, e, sym) { in set_all_choice_values()
977 if (!sym_has_value(sym)) in set_all_choice_values()
978 sym->def[S_DEF_USER].tri = no; in set_all_choice_values()
987 struct symbol *sym, *csym; in conf_set_all_new_symbols() local
990 for_all_symbols(i, sym) { in conf_set_all_new_symbols()
991 if (sym_has_value(sym)) in conf_set_all_new_symbols()
993 switch (sym_get_type(sym)) { in conf_set_all_new_symbols()
998 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
1001 sym->def[S_DEF_USER].tri = mod; in conf_set_all_new_symbols()
1004 sym->def[S_DEF_USER].tri = no; in conf_set_all_new_symbols()
1007 cnt = sym_get_type(sym) == S_TRISTATE ? 3 : 2; in conf_set_all_new_symbols()
1008 sym->def[S_DEF_USER].tri = (tristate)(rand() % cnt); in conf_set_all_new_symbols()
1013 if (!(sym_is_choice(sym) && mode == def_random)) in conf_set_all_new_symbols()
1014 sym->flags |= SYMBOL_DEF_USER; in conf_set_all_new_symbols()