projects
/
carl9170fw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kconfig: Terminate menu blocks with a comment in the generated config
[carl9170fw.git]
/
config
/
confdata.c
diff --git
a/config/confdata.c
b/config/confdata.c
index 52f9282e63df28c20db394e9cbc6a1ebcdd11deb..695253e055cefc96b98f461fbf0ab1b4fc69860b 100644
(file)
--- a/
config/confdata.c
+++ b/
config/confdata.c
@@
-226,7
+226,7
@@
const char *conf_get_configname(void)
return name ? name : ".config";
}
return name ? name : ".config";
}
-const char *conf_get_autoconfig_name(void)
+
static
const char *conf_get_autoconfig_name(void)
{
char *name = getenv("KCONFIG_AUTOCONFIG");
{
char *name = getenv("KCONFIG_AUTOCONFIG");
@@
-241,7
+241,7
@@
char *conf_get_default_confname(void)
name = expand_string(conf_defname);
env = getenv(SRCTREE);
if (env) {
name = expand_string(conf_defname);
env = getenv(SRCTREE);
if (env) {
- s
printf(fullname
, "%s/%s", env, name);
+ s
nprintf(fullname, sizeof(fullname)
, "%s/%s", env, name);
if (is_present(fullname))
return fullname;
}
if (is_present(fullname))
return fullname;
}
@@
-913,6
+913,7
@@
int conf_write(const char *name)
const char *str;
char tmpname[PATH_MAX + 1], oldname[PATH_MAX + 1];
char *env;
const char *str;
char tmpname[PATH_MAX + 1], oldname[PATH_MAX + 1];
char *env;
+ bool need_newline = false;
if (!name)
name = conf_get_configname();
if (!name)
name = conf_get_configname();
@@
-958,12
+959,16
@@
int conf_write(const char *name)
"#\n"
"# %s\n"
"#\n", str);
"#\n"
"# %s\n"
"#\n", str);
+ need_newline = false;
} else if (!(sym->flags & SYMBOL_CHOICE)) {
sym_calc_value(sym);
if (!(sym->flags & SYMBOL_WRITE))
goto next;
} else if (!(sym->flags & SYMBOL_CHOICE)) {
sym_calc_value(sym);
if (!(sym->flags & SYMBOL_WRITE))
goto next;
+ if (need_newline) {
+ fprintf(out, "\n");
+ need_newline = false;
+ }
sym->flags &= ~SYMBOL_WRITE;
sym->flags &= ~SYMBOL_WRITE;
-
conf_write_symbol(out, sym, &kconfig_printer_cb, NULL);
}
conf_write_symbol(out, sym, &kconfig_printer_cb, NULL);
}
@@
-975,6
+980,12
@@
next:
if (menu->next)
menu = menu->next;
else while ((menu = menu->parent)) {
if (menu->next)
menu = menu->next;
else while ((menu = menu->parent)) {
+ if (!menu->sym && menu_is_visible(menu) &&
+ menu != &rootmenu) {
+ str = menu_get_prompt(menu);
+ fprintf(out, "# end of %s\n", str);
+ need_newline = true;
+ }
if (menu->next) {
menu = menu->next;
break;
if (menu->next) {
menu = menu->next;
break;
@@
-1010,8
+1021,6
@@
static int conf_write_dep(const char *name)
struct file *file;
FILE *out;
struct file *file;
FILE *out;
- if (!name)
- name = ".kconfig.d";
out = fopen("..config.tmp", "w");
if (!out)
return 1;
out = fopen("..config.tmp", "w");
if (!out)
return 1;