[Sam Ravnborg - Sat, Mar 10, 2007 at 11:45:34PM +0100] | On Sat, Mar 10, 2007 at 10:34:41PM +0100, Jan Engelhardt wrote: | > | > On Mar 10 2007 22:27, Sam Ravnborg wrote: | > >On Sat, Mar 10, 2007 at 07:23:41PM +0100, Jan Engelhardt wrote: | > >> | > >> Whether the 'working config file path' should change when you do | > >> 'Save as Alternate' or not, is a menuconfig axiom. Ask Sam Ravnborg | > >> if you want it changed :-) | > > | > >Current behaviour is not logical but on the other hand I do not | > >see a big need to make it so. | > >It seems that people very seldom uses "save alternate" anyway. | > > | > >But patches are welcome. | > | > ^_^ The patch has already been posted, has not it? | No. | Either we keep current behaviour or we change to the "normal" | behaviour with a "Save as..." as know from all other programs. | | Sam |
Hi Sam, here is a patch for menuconfig that shows current configuration file. So I think menuconfig does its work well but the only thing we need is to show location of an _active_ configuration. Any comments are welcome (and you may swear at me too :) Cyrill
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index 3f9a132..cde6792 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c @@ -602,6 +602,12 @@ static void conf(struct menu *menu) item_set_tag('L'); item_make(_(" Save an Alternate Configuration File")); item_set_tag('S'); + item_make("--- "); + item_set_tag(':'); + item_make(_(" Current Configuration File: ")); + item_set_tag(':'); + item_add_str("%s", filename); + } dialog_clear(); res = dialog_menu(prompt ? prompt : _("Main Menu"), @@ -816,8 +822,11 @@ static void conf_load(void) case 0: if (!dialog_input_result[0]) return; - if (!conf_read(dialog_input_result)) + if (!conf_read(dialog_input_result)) { + memset(filename, 0x0, PATH_MAX+1); + strncpy(filename, dialog_input_result, PATH_MAX); return; + } show_textbox(NULL, _("File does not exist!"), 5, 38); break; case 1: @@ -840,8 +849,11 @@ static void conf_save(void) case 0: if (!dialog_input_result[0]) return; - if (!conf_write(dialog_input_result)) + if (!conf_write(dialog_input_result)) { + memset(filename, 0x0, PATH_MAX+1); + strncpy(filename, dialog_input_result, PATH_MAX); return; + } show_textbox(NULL, _("Can't create file! Probably a nonexistent directory."), 5, 60); break; case 1: @@ -903,7 +915,7 @@ int main(int ac, char **av) switch (res) { case 0: - if (conf_write(NULL)) { + if (conf_write(filename)) { fprintf(stderr, _("\n\n" "Error during writing of the kernel configuration.\n" "Your kernel configuration changes were NOT saved."