kconfig: improve config load/save output
During loading special case the first common case (.config), be silent about
it and otherwise mark it as a change that requires saving. Instead output
that the file has been changed. IOW if conf does nothing (special), it's
silent.
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 1b5df58..a9e3b6a 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -98,20 +98,28 @@
in = zconf_fopen(name);
} else {
const char **names = conf_confnames;
+ name = *names++;
+ if (!name)
+ return 1;
+ in = zconf_fopen(name);
+ if (in)
+ goto load;
+ sym_change_count++;
while ((name = *names++)) {
name = conf_expand_value(name);
in = zconf_fopen(name);
if (in) {
printf(_("#\n"
- "# using defaults found in %s\n"
- "#\n"), name);
- break;
+ "# using defaults found in %s\n"
+ "#\n"), name);
+ goto load;
}
}
}
if (!in)
return 1;
+load:
conf_filename = name;
conf_lineno = 0;
conf_warnings = 0;
@@ -275,6 +283,8 @@
struct expr *e;
int i;
+ sym_change_count = 0;
+
if (conf_read_simple(name))
return 1;
@@ -325,7 +335,7 @@
sym->flags |= e->right.sym->flags & SYMBOL_NEW;
}
- sym_change_count = conf_warnings || conf_unsaved;
+ sym_change_count += conf_warnings || conf_unsaved;
return 0;
}
@@ -524,6 +534,10 @@
if (rename(newname, tmpname))
return 1;
+ printf(_("#\n"
+ "# configuration written to %s\n"
+ "#\n"), tmpname);
+
sym_change_count = 0;
return 0;