Lines Matching +full:cs +full:- +full:out

1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
99 tmp[sizeof(tmp) - 1] = 0; in make_parent_dir()
117 return -1; in make_parent_dir()
137 return -1; in conf_touch_dep()
142 if (fd == -1) in conf_touch_dep()
143 return -1; in conf_touch_dep()
237 switch (sym->type) { in conf_set_sym_val()
240 sym->def[def].tri = mod; in conf_set_sym_val()
241 sym->flags |= def_flags; in conf_set_sym_val()
247 sym->def[def].tri = yes; in conf_set_sym_val()
248 sym->flags |= def_flags; in conf_set_sym_val()
252 sym->def[def].tri = no; in conf_set_sym_val()
253 sym->flags |= def_flags; in conf_set_sym_val()
258 p, sym->name); in conf_set_sym_val()
281 sym->def[def].val = xstrdup(p); in conf_set_sym_val()
282 sym->flags |= def_flags; in conf_set_sym_val()
286 p, sym->name); in conf_set_sym_val()
302 new_size += LINE_GROWTH - 1; in add_byte()
332 return -1; in compat_getline()
342 line[slen-1] = '\0'; in compat_getline()
344 return -1; in compat_getline()
354 if (len > 0 && (*lineptr)[len - 1] == '\n') { in getline_stripped()
355 len--; in getline_stripped()
358 if (len > 0 && (*lineptr)[len - 1] == '\r') { in getline_stripped()
359 len--; in getline_stripped()
433 sym->flags |= SYMBOL_CHANGED; in conf_read_simple()
434 sym->flags &= ~(def_flags|SYMBOL_VALID); in conf_read_simple()
436 sym->flags |= def_flags; in conf_read_simple()
437 switch (sym->type) { in conf_read_simple()
441 free(sym->def[def].val); in conf_read_simple()
444 sym->def[def].val = NULL; in conf_read_simple()
445 sym->def[def].tri = no; in conf_read_simple()
449 while (getline_stripped(&line, &line_asize, in) != -1) { in conf_read_simple()
505 if (sym->flags & def_flags) in conf_read_simple()
506 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
512 struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_read_simple() local
513 switch (sym->def[def].tri) { in conf_read_simple()
517 if (cs->def[def].tri == yes) { in conf_read_simple()
518 conf_warning("%s creates inconsistent choice state", sym->name); in conf_read_simple()
519 cs->flags &= ~def_flags; in conf_read_simple()
523 if (cs->def[def].tri != no) in conf_read_simple()
524 conf_warning("override: %s changes choice state", sym->name); in conf_read_simple()
525 cs->def[def].val = sym; in conf_read_simple()
528 cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri); in conf_read_simple()
554 if (sym_is_choice(sym) || (sym->flags & SYMBOL_NO_WRITE)) in conf_read()
556 if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) { in conf_read()
558 switch (sym->type) { in conf_read()
561 if (sym->def[S_DEF_USER].tri == sym_get_tristate_value(sym)) in conf_read()
565 if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val)) in conf_read()
569 } else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE)) in conf_read()
583 if (sym->visible == no && !conf_unsaved) in conf_read()
584 sym->flags &= ~SYMBOL_DEF_USER; in conf_read()
585 switch (sym->type) { in conf_read()
589 /* Reset a string value if it's out of range */ in conf_read()
590 if (sym_string_within_range(sym, sym->def[S_DEF_USER].val)) in conf_read()
592 sym->flags &= ~SYMBOL_VALID; in conf_read()
625 static void conf_write_heading(FILE *fp, const struct comment_style *cs) in conf_write_heading() argument
627 if (!cs) in conf_write_heading()
630 fprintf(fp, "%s\n", cs->prefix); in conf_write_heading()
633 cs->decoration); in conf_write_heading()
635 fprintf(fp, "%s %s\n", cs->decoration, rootmenu.prompt->text); in conf_write_heading()
637 fprintf(fp, "%s\n", cs->postfix); in conf_write_heading()
644 char *out; in escape_string_value() local
660 out = xmalloc(len); in escape_string_value()
661 out[0] = '\0'; in escape_string_value()
663 strcat(out, "\""); in escape_string_value()
668 strncat(out, p, len); in escape_string_value()
674 strcat(out, "\\"); in escape_string_value()
675 strncat(out, p++, 1); in escape_string_value()
678 strcat(out, "\""); in escape_string_value()
680 return out; in escape_string_value()
691 if (sym->type == S_UNKNOWN) in __print_symbol()
696 if ((sym->type == S_BOOLEAN || sym->type == S_TRISTATE) && in __print_symbol()
699 fprintf(fp, "# %s%s is not set\n", CONFIG_, sym->name); in __print_symbol()
703 if (sym->type == S_STRING && escape_string) { in __print_symbol()
708 fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, val); in __print_symbol()
735 if (sym->type == S_UNKNOWN) in print_symbol_for_c()
740 switch (sym->type) { in print_symbol_for_c()
764 fprintf(fp, "#define %s%s%s %s%s\n", CONFIG_, sym->name, sym_suffix, in print_symbol_for_c()
778 if (sym->type == S_UNKNOWN) in print_symbol_for_rustccfg()
783 switch (sym->type) { in print_symbol_for_rustccfg()
795 * we provide an empty `--cfg CONFIG_X` here in both `y` in print_symbol_for_rustccfg()
799 * a `--cfg CONFIG_X="y"` or `--cfg CONFIG_X="m"`, which can in print_symbol_for_rustccfg()
802 fprintf(fp, "--cfg=%s%s\n", CONFIG_, sym->name); in print_symbol_for_rustccfg()
819 /* All values get escaped: the `--cfg` option only takes strings */ in print_symbol_for_rustccfg()
823 fprintf(fp, "--cfg=%s%s=%s\n", CONFIG_, sym->name, val); in print_symbol_for_rustccfg()
830 * Write out a minimal config.
837 FILE *out; in conf_write_defconfig() local
839 out = fopen(filename, "w"); in conf_write_defconfig()
840 if (!out) in conf_write_defconfig()
850 sym = menu->sym; in conf_write_defconfig()
856 if (!(sym->flags & SYMBOL_WRITE)) in conf_write_defconfig()
858 sym->flags &= ~SYMBOL_WRITE; in conf_write_defconfig()
859 /* If we cannot change the symbol - skip */ in conf_write_defconfig()
862 /* If symbol equals to default value - skip */ in conf_write_defconfig()
868 * default for a choice - skip. in conf_write_defconfig()
874 struct symbol *cs; in conf_write_defconfig() local
877 cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_write_defconfig()
878 ds = sym_choice_default(cs); in conf_write_defconfig()
879 if (!sym_is_optional(cs) && sym == ds) { in conf_write_defconfig()
880 if ((sym->type == S_BOOLEAN) && in conf_write_defconfig()
885 print_symbol_for_dotconfig(out, sym); in conf_write_defconfig()
888 if (menu->list != NULL) { in conf_write_defconfig()
889 menu = menu->list; in conf_write_defconfig()
891 else if (menu->next != NULL) { in conf_write_defconfig()
892 menu = menu->next; in conf_write_defconfig()
894 while ((menu = menu->parent)) { in conf_write_defconfig()
895 if (menu->next != NULL) { in conf_write_defconfig()
896 menu = menu->next; in conf_write_defconfig()
902 fclose(out); in conf_write_defconfig()
908 FILE *out; in conf_write() local
922 return -1; in conf_write()
927 return -1; in conf_write()
931 return -1; in conf_write()
936 out = fopen(name, "w"); in conf_write()
940 out = fopen(tmpname, "w"); in conf_write()
942 if (!out) in conf_write()
945 conf_write_heading(out, &comment_style_pound); in conf_write()
952 sym = menu->sym; in conf_write()
957 fprintf(out, "\n" in conf_write()
962 } else if (!(sym->flags & SYMBOL_CHOICE) && in conf_write()
963 !(sym->flags & SYMBOL_WRITTEN)) { in conf_write()
965 if (!(sym->flags & SYMBOL_WRITE)) in conf_write()
968 fprintf(out, "\n"); in conf_write()
971 sym->flags |= SYMBOL_WRITTEN; in conf_write()
972 print_symbol_for_dotconfig(out, sym); in conf_write()
976 if (menu->list) { in conf_write()
977 menu = menu->list; in conf_write()
982 if (!menu->sym && menu_is_visible(menu) && menu != &rootmenu && in conf_write()
983 menu->prompt->type == P_MENU) { in conf_write()
984 fprintf(out, "# end of %s\n", menu_get_prompt(menu)); in conf_write()
988 if (menu->next) { in conf_write()
989 menu = menu->next; in conf_write()
991 menu = menu->parent; in conf_write()
996 fclose(out); in conf_write()
999 sym->flags &= ~SYMBOL_WRITTEN; in conf_write()
1027 FILE *out; in conf_write_autoconf_cmd() local
1032 return -1; in conf_write_autoconf_cmd()
1035 return -1; in conf_write_autoconf_cmd()
1039 return -1; in conf_write_autoconf_cmd()
1041 out = fopen(tmp, "w"); in conf_write_autoconf_cmd()
1042 if (!out) { in conf_write_autoconf_cmd()
1044 return -1; in conf_write_autoconf_cmd()
1047 fprintf(out, "deps_config := \\\n"); in conf_write_autoconf_cmd()
1048 for (file = file_list; file; file = file->next) in conf_write_autoconf_cmd()
1049 fprintf(out, "\t%s \\\n", file->name); in conf_write_autoconf_cmd()
1051 fprintf(out, "\n%s: $(deps_config)\n\n", autoconf_name); in conf_write_autoconf_cmd()
1053 env_write_dep(out, autoconf_name); in conf_write_autoconf_cmd()
1055 fprintf(out, "\n$(deps_config): ;\n"); in conf_write_autoconf_cmd()
1057 fflush(out); in conf_write_autoconf_cmd()
1058 ret = ferror(out); /* error check for all fprintf() calls */ in conf_write_autoconf_cmd()
1059 fclose(out); in conf_write_autoconf_cmd()
1061 return -1; in conf_write_autoconf_cmd()
1065 return -1; in conf_write_autoconf_cmd()
1079 depfile_prefix_len = tmp ? tmp - name + 1 : 0; in conf_touch_deps()
1081 return -1; in conf_touch_deps()
1091 if ((sym->flags & SYMBOL_NO_WRITE) || !sym->name) in conf_touch_deps()
1093 if (sym->flags & SYMBOL_WRITE) { in conf_touch_deps()
1094 if (sym->flags & SYMBOL_DEF_AUTO) { in conf_touch_deps()
1099 switch (sym->type) { in conf_touch_deps()
1103 sym->def[S_DEF_AUTO].tri) in conf_touch_deps()
1110 sym->def[S_DEF_AUTO].val)) in conf_touch_deps()
1121 switch (sym->type) { in conf_touch_deps()
1131 } else if (!(sym->flags & SYMBOL_DEF_AUTO)) in conf_touch_deps()
1140 res = conf_touch_dep(sym->name); in conf_touch_deps()
1158 return -1; in __conf_write_autoconf()
1162 return -1; in __conf_write_autoconf()
1167 return -1; in __conf_write_autoconf()
1173 if ((sym->flags & SYMBOL_WRITE) && sym->name) in __conf_write_autoconf()
1181 return -1; in __conf_write_autoconf()
1185 return -1; in __conf_write_autoconf()
1202 return -1; in conf_write_autoconf()
1268 * Set all non-assinged choice values to no in set_all_choice_values()
1270 expr_list_for_each_sym(prop->expr, e, sym) { in set_all_choice_values()
1272 sym->def[S_DEF_USER].tri = no; in set_all_choice_values()
1274 csym->flags |= SYMBOL_DEF_USER; in set_all_choice_values()
1276 csym->flags &= ~(SYMBOL_VALID | SYMBOL_NEED_SET_CHOICE_VALUES); in set_all_choice_values()