lkml.org 
[lkml]   [2007]   [Mar]   [11]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    DateSun, 11 Mar 2007 13:07:23 +0300
    FromCyrill Gorcunov <>
    SubjectRe: PROBLEM: "Make nenuconfig" does not save parameters.
    [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."
    \
     
     \ /
      Last update: 2007-03-11 11:13    [from the cache]
    ©2003-2008