Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 54134
b: refs/heads/master
c: 95e30f9
h: refs/heads/master
v: v3
  • Loading branch information
Sam Ravnborg committed May 2, 2007
1 parent 855e0da commit e223679
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: dd7e54ade8f515ec38d5dc2129705352e2296f8e
refs/heads/master: 95e30f9593ebf39e26227a20ae8d9f160c50fb67
1 change: 1 addition & 0 deletions trunk/scripts/kconfig/lxdialog/dialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ int on_key_esc(WINDOW *win);
int on_key_resize(void);

void init_dialog(const char *backtitle);
void set_dialog_backtitle(const char *backtitle);
void reset_dialog(void);
void end_dialog(void);
void attr_clear(WINDOW * win, int height, int width, chtype attr);
Expand Down
5 changes: 5 additions & 0 deletions trunk/scripts/kconfig/lxdialog/util.c
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,11 @@ void init_dialog(const char *backtitle)
color_setup(getenv("MENUCONFIG_COLOR"));
}

void set_dialog_backtitle(const char *backtitle)
{
dlg.backtitle = backtitle;
}

void reset_dialog(void)
{
initscr(); /* Init curses */
Expand Down
43 changes: 31 additions & 12 deletions trunk/scripts/kconfig/mconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
#include "lkc.h"
#include "lxdialog/dialog.h"

static char menu_backtitle[128];
static const char mconf_readme[] = N_(
"Overview\n"
"--------\n"
Expand Down Expand Up @@ -271,7 +270,6 @@ search_help[] = N_(
" USB$ => find all CONFIG_ symbols ending with USB\n"
"\n");

static char filename[PATH_MAX+1] = ".config";
static int indent;
static struct termios ios_org;
static int rows = 0, cols = 0;
Expand Down Expand Up @@ -395,6 +393,28 @@ static struct gstr get_relations_str(struct symbol **sym_arr)
return res;
}

static char filename[PATH_MAX+1];
static void set_config_filename(const char *config_filename)
{
static char menu_backtitle[PATH_MAX+128];
int size;
struct symbol *sym;

sym = sym_lookup("KERNELVERSION", 0);
sym_calc_value(sym);
size = snprintf(menu_backtitle, sizeof(menu_backtitle),
_("%s - Linux Kernel v%s Configuration"),
config_filename, sym_get_string_value(sym));
if (size >= sizeof(menu_backtitle))
menu_backtitle[sizeof(menu_backtitle)-1] = '\0';
set_dialog_backtitle(menu_backtitle);

size = snprintf(filename, sizeof(filename), "%s", config_filename);
if (size >= sizeof(filename))
filename[sizeof(filename)-1] = '\0';
}


static void search_conf(void)
{
struct symbol **sym_arr;
Expand Down Expand Up @@ -816,8 +836,10 @@ 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)) {
set_config_filename(dialog_input_result);
return;
}
show_textbox(NULL, _("File does not exist!"), 5, 38);
break;
case 1:
Expand All @@ -840,8 +862,10 @@ 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)) {
set_config_filename(dialog_input_result);
return;
}
show_textbox(NULL, _("Can't create file! Probably a nonexistent directory."), 5, 60);
break;
case 1:
Expand All @@ -860,7 +884,6 @@ static void conf_cleanup(void)

int main(int ac, char **av)
{
struct symbol *sym;
char *mode;
int res;

Expand All @@ -871,11 +894,6 @@ int main(int ac, char **av)
conf_parse(av[1]);
conf_read(NULL);

sym = sym_lookup("KERNELVERSION", 0);
sym_calc_value(sym);
sprintf(menu_backtitle, _("Linux Kernel v%s Configuration"),
sym_get_string_value(sym));

mode = getenv("MENUCONFIG_MODE");
if (mode) {
if (!strcasecmp(mode, "single_menu"))
Expand All @@ -886,7 +904,8 @@ int main(int ac, char **av)
atexit(conf_cleanup);
init_wsize();
reset_dialog();
init_dialog(menu_backtitle);
init_dialog(NULL);
set_config_filename(".config");
do {
conf(&rootmenu);
dialog_clear();
Expand All @@ -903,7 +922,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."
Expand Down

0 comments on commit e223679

Please sign in to comment.