Re: (Simple) Basic Design Flaw in make menuconfig GUI

From: Randy.Dunlap
Date: Wed Sep 03 2003 - 17:24:01 EST


On Wed, 3 Sep 2003 19:03:48 +0200 Jan-Benedict Glaw <jbglaw@xxxxxxxxxx> wrote:

| On Wed, 2003-09-03 08:33:34 -0700, Randy.Dunlap <rddunlap@xxxxxxxx>
| wrote in message <20030903083334.6a98a4f5.rddunlap@xxxxxxxx>:
| > On Wed, 3 Sep 2003 10:40:17 -0400 "Stevo" <stevo@xxxxxxxxxxx> wrote:
| >
| > | PROBLEM: (ocassionally) While I am speeding through the kernel
| > | configuration, I will accidentally hit the "Esc" key one too many times (I'm
| > | sure we've all done this) and it will leave me at the "exit" screen:
|
| > | can someone please add one more simple choice to the "exit" menu?
| >
| > Yes, I've needed that choice at times also.
|
| Like this?
|
|
| --- linux-2.6.0-test4-bk5/scripts/kconfig/mconf.c.jbglaw 2003-09-03 18:28:06.000000000 +0200
| +++ linux-2.6.0-test4-bk5/scripts/kconfig/mconf.c 2003-09-03 19:00:31.000000000 +0200
| @@ -773,27 +773,56 @@
| tcgetattr(1, &ios_org);
| atexit(conf_cleanup);
| init_wsize();
| - conf(&rootmenu);
|
| - do {
| - cprint_init();
| - cprint("--yesno");
| - cprint("Do you wish to save your new kernel configuration?");
| - cprint("5");
| - cprint("60");
| - stat = exec_conf();
| - } while (stat < 0);
| -
| - if (stat == 0) {
| - conf_write(NULL);
| - printf("\n\n"
| - "*** End of Linux kernel configuration.\n"
| - "*** Execute 'make' to build the kernel or try 'make help'."
| - "\n\n");
| - } else
| - printf("\n\n"
| - "Your kernel configuration changes were NOT saved."
| - "\n\n");
| + while (1) {
| + /*
| + * Config dialog
| + */
| + conf(&rootmenu);
| +
| + /*
| + * Really quit?
| + */
| + do {
| + cprint_init();
| + cprint("--title");
| + cprint("Save configuration");
| + cprint("--radiolist");
| + cprint(radiolist_instructions);
| + cprint("15");
| + cprint("70");
| + cprint("6");
| +
| + cprint("continue");
| + cprint("Continue with configuation");
| + cprint("ON");
| +
| + cprint("save");
| + cprint("Save .config and exit");
| + cprint("OFF");
| +
| + cprint("exit");
| + cprint("Don't save .config and exit");
| + cprint("OFF");
| +
| + stat = exec_conf();
| + } while (stat < 0);
| +
| + if(!strcmp(input_buf, "save")) {
| + conf_write(NULL);
| + printf("\n\n"
| + "*** End of Linux kernel configuration.\n"
| + "*** Execute 'make' to build the kernel or try 'make help'."
| + "\n\n");
| + return 0;
| + }
| + if(!strcmp(input_buf, "exit")) {
| + printf("\n\n"
| + "Your kernel configuration changes were NOT saved."
| + "\n\n");
| + return 0;
| + }
| + }
|
| return 0;
| }

Yes, that works nicely. Merge and ship it!

--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/