Loading scripts/kconfig/confdata.c +29 −6 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,9 @@ static void conf_warning(const char *fmt, ...) static void conf_warning(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); __attribute__ ((format (printf, 1, 2))); static void conf_message(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); static const char *conf_filename; static const char *conf_filename; static int conf_lineno, conf_warnings, conf_unsaved; static int conf_lineno, conf_warnings, conf_unsaved; Loading @@ -35,6 +38,29 @@ static void conf_warning(const char *fmt, ...) conf_warnings++; conf_warnings++; } } static void conf_default_message_callback(const char *fmt, va_list ap) { printf("#\n# "); vprintf(fmt, ap); printf("\n#\n"); } static void (*conf_message_callback) (const char *fmt, va_list ap) = conf_default_message_callback; void conf_set_message_callback(void (*fn) (const char *fmt, va_list ap)) { conf_message_callback = fn; } static void conf_message(const char *fmt, ...) { va_list ap; va_start(ap, fmt); if (conf_message_callback) conf_message_callback(fmt, ap); } const char *conf_get_configname(void) const char *conf_get_configname(void) { { char *name = getenv("KCONFIG_CONFIG"); char *name = getenv("KCONFIG_CONFIG"); Loading Loading @@ -184,9 +210,8 @@ int conf_read_simple(const char *name, int def) name = conf_expand_value(prop->expr->left.sym->name); name = conf_expand_value(prop->expr->left.sym->name); in = zconf_fopen(name); in = zconf_fopen(name); if (in) { if (in) { printf(_("#\n" conf_message(_("using defaults found in %s"), "# using defaults found in %s\n" name); "#\n"), name); goto load; goto load; } } } } Loading Loading @@ -651,9 +676,7 @@ int conf_write(const char *name) return 1; return 1; } } printf(_("#\n" conf_message(_("configuration written to %s"), newname); "# configuration written to %s\n" "#\n"), newname); sym_set_change_count(0); sym_set_change_count(0); Loading scripts/kconfig/lkc_proto.h +2 −0 Original line number Original line Diff line number Diff line #include <stdarg.h> /* confdata.c */ /* confdata.c */ P(conf_parse,void,(const char *name)); P(conf_parse,void,(const char *name)); Loading @@ -8,6 +9,7 @@ P(conf_write,int,(const char *name)); P(conf_write_autoconf,int,(void)); P(conf_write_autoconf,int,(void)); P(conf_get_changed,bool,(void)); P(conf_get_changed,bool,(void)); P(conf_set_changed_callback, void,(void (*fn)(void))); P(conf_set_changed_callback, void,(void (*fn)(void))); P(conf_set_message_callback, void,(void (*fn)(const char *fmt, va_list ap))); /* menu.c */ /* menu.c */ P(rootmenu,struct menu,); P(rootmenu,struct menu,); Loading scripts/kconfig/nconf.c +9 −42 Original line number Original line Diff line number Diff line Loading @@ -651,25 +651,6 @@ static const char *set_config_filename(const char *config_filename) return menu_backtitle; return menu_backtitle; } } /* command = 0 is supress, 1 is restore */ static void supress_stdout(int command) { static FILE *org_stdout; static FILE *org_stderr; if (command == 0) { org_stdout = stdout; org_stderr = stderr; stdout = fopen("/dev/null", "a"); stderr = fopen("/dev/null", "a"); } else { fclose(stdout); fclose(stderr); stdout = org_stdout; stderr = org_stderr; } } /* return = 0 means we are successful. /* return = 0 means we are successful. * -1 means go on doing what you were doing * -1 means go on doing what you were doing */ */ Loading @@ -695,9 +676,7 @@ static int do_exit(void) /* if we got here, the user really wants to exit */ /* if we got here, the user really wants to exit */ switch (res) { switch (res) { case 0: case 0: supress_stdout(0); res = conf_write(filename); res = conf_write(filename); supress_stdout(1); if (res) if (res) btn_dialog( btn_dialog( main_window, main_window, Loading @@ -707,19 +686,6 @@ static int do_exit(void) "changes were NOT saved."), "changes were NOT saved."), 1, 1, "<OK>"); "<OK>"); else { char buf[1024]; snprintf(buf, 1024, _("Configuration written to %s\n" "End of Linux kernel configuration.\n" "Execute 'make' to build the kernel or try" " 'make help'."), filename); btn_dialog( main_window, buf, 1, "<OK>"); } break; break; default: default: btn_dialog( btn_dialog( Loading Loading @@ -1255,6 +1221,14 @@ static void conf(struct menu *menu) } } } } static void conf_message_callback(const char *fmt, va_list ap) { char buf[1024]; vsnprintf(buf, sizeof(buf), fmt, ap); btn_dialog(main_window, buf, 1, "<OK>"); } static void show_help(struct menu *menu) static void show_help(struct menu *menu) { { struct gstr help = str_new(); struct gstr help = str_new(); Loading Loading @@ -1477,16 +1451,8 @@ static void conf_save(void) case 0: case 0: if (!dialog_input_result[0]) if (!dialog_input_result[0]) return; return; supress_stdout(0); res = conf_write(dialog_input_result); res = conf_write(dialog_input_result); supress_stdout(1); if (!res) { if (!res) { char buf[1024]; sprintf(buf, "%s %s", _("configuration file saved to: "), dialog_input_result); btn_dialog(main_window, buf, 1, "<OK>"); set_config_filename(dialog_input_result); set_config_filename(dialog_input_result); return; return; } } Loading Loading @@ -1579,6 +1545,7 @@ int main(int ac, char **av) _(menu_no_f_instructions)); _(menu_no_f_instructions)); } } conf_set_message_callback(conf_message_callback); /* do the work */ /* do the work */ while (!global_exit) { while (!global_exit) { conf(&rootmenu); conf(&rootmenu); Loading Loading
scripts/kconfig/confdata.c +29 −6 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,9 @@ static void conf_warning(const char *fmt, ...) static void conf_warning(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); __attribute__ ((format (printf, 1, 2))); static void conf_message(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); static const char *conf_filename; static const char *conf_filename; static int conf_lineno, conf_warnings, conf_unsaved; static int conf_lineno, conf_warnings, conf_unsaved; Loading @@ -35,6 +38,29 @@ static void conf_warning(const char *fmt, ...) conf_warnings++; conf_warnings++; } } static void conf_default_message_callback(const char *fmt, va_list ap) { printf("#\n# "); vprintf(fmt, ap); printf("\n#\n"); } static void (*conf_message_callback) (const char *fmt, va_list ap) = conf_default_message_callback; void conf_set_message_callback(void (*fn) (const char *fmt, va_list ap)) { conf_message_callback = fn; } static void conf_message(const char *fmt, ...) { va_list ap; va_start(ap, fmt); if (conf_message_callback) conf_message_callback(fmt, ap); } const char *conf_get_configname(void) const char *conf_get_configname(void) { { char *name = getenv("KCONFIG_CONFIG"); char *name = getenv("KCONFIG_CONFIG"); Loading Loading @@ -184,9 +210,8 @@ int conf_read_simple(const char *name, int def) name = conf_expand_value(prop->expr->left.sym->name); name = conf_expand_value(prop->expr->left.sym->name); in = zconf_fopen(name); in = zconf_fopen(name); if (in) { if (in) { printf(_("#\n" conf_message(_("using defaults found in %s"), "# using defaults found in %s\n" name); "#\n"), name); goto load; goto load; } } } } Loading Loading @@ -651,9 +676,7 @@ int conf_write(const char *name) return 1; return 1; } } printf(_("#\n" conf_message(_("configuration written to %s"), newname); "# configuration written to %s\n" "#\n"), newname); sym_set_change_count(0); sym_set_change_count(0); Loading
scripts/kconfig/lkc_proto.h +2 −0 Original line number Original line Diff line number Diff line #include <stdarg.h> /* confdata.c */ /* confdata.c */ P(conf_parse,void,(const char *name)); P(conf_parse,void,(const char *name)); Loading @@ -8,6 +9,7 @@ P(conf_write,int,(const char *name)); P(conf_write_autoconf,int,(void)); P(conf_write_autoconf,int,(void)); P(conf_get_changed,bool,(void)); P(conf_get_changed,bool,(void)); P(conf_set_changed_callback, void,(void (*fn)(void))); P(conf_set_changed_callback, void,(void (*fn)(void))); P(conf_set_message_callback, void,(void (*fn)(const char *fmt, va_list ap))); /* menu.c */ /* menu.c */ P(rootmenu,struct menu,); P(rootmenu,struct menu,); Loading
scripts/kconfig/nconf.c +9 −42 Original line number Original line Diff line number Diff line Loading @@ -651,25 +651,6 @@ static const char *set_config_filename(const char *config_filename) return menu_backtitle; return menu_backtitle; } } /* command = 0 is supress, 1 is restore */ static void supress_stdout(int command) { static FILE *org_stdout; static FILE *org_stderr; if (command == 0) { org_stdout = stdout; org_stderr = stderr; stdout = fopen("/dev/null", "a"); stderr = fopen("/dev/null", "a"); } else { fclose(stdout); fclose(stderr); stdout = org_stdout; stderr = org_stderr; } } /* return = 0 means we are successful. /* return = 0 means we are successful. * -1 means go on doing what you were doing * -1 means go on doing what you were doing */ */ Loading @@ -695,9 +676,7 @@ static int do_exit(void) /* if we got here, the user really wants to exit */ /* if we got here, the user really wants to exit */ switch (res) { switch (res) { case 0: case 0: supress_stdout(0); res = conf_write(filename); res = conf_write(filename); supress_stdout(1); if (res) if (res) btn_dialog( btn_dialog( main_window, main_window, Loading @@ -707,19 +686,6 @@ static int do_exit(void) "changes were NOT saved."), "changes were NOT saved."), 1, 1, "<OK>"); "<OK>"); else { char buf[1024]; snprintf(buf, 1024, _("Configuration written to %s\n" "End of Linux kernel configuration.\n" "Execute 'make' to build the kernel or try" " 'make help'."), filename); btn_dialog( main_window, buf, 1, "<OK>"); } break; break; default: default: btn_dialog( btn_dialog( Loading Loading @@ -1255,6 +1221,14 @@ static void conf(struct menu *menu) } } } } static void conf_message_callback(const char *fmt, va_list ap) { char buf[1024]; vsnprintf(buf, sizeof(buf), fmt, ap); btn_dialog(main_window, buf, 1, "<OK>"); } static void show_help(struct menu *menu) static void show_help(struct menu *menu) { { struct gstr help = str_new(); struct gstr help = str_new(); Loading Loading @@ -1477,16 +1451,8 @@ static void conf_save(void) case 0: case 0: if (!dialog_input_result[0]) if (!dialog_input_result[0]) return; return; supress_stdout(0); res = conf_write(dialog_input_result); res = conf_write(dialog_input_result); supress_stdout(1); if (!res) { if (!res) { char buf[1024]; sprintf(buf, "%s %s", _("configuration file saved to: "), dialog_input_result); btn_dialog(main_window, buf, 1, "<OK>"); set_config_filename(dialog_input_result); set_config_filename(dialog_input_result); return; return; } } Loading Loading @@ -1579,6 +1545,7 @@ int main(int ac, char **av) _(menu_no_f_instructions)); _(menu_no_f_instructions)); } } conf_set_message_callback(conf_message_callback); /* do the work */ /* do the work */ while (!global_exit) { while (!global_exit) { conf(&rootmenu); conf(&rootmenu); Loading