diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-07-15 05:54:13 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-07-15 05:54:13 +0000 |
commit | 6c2efd66d94ce13ac5b70aefd71cf2e66f4acbdf (patch) | |
tree | 4614629205be8798da130da69d369387d093ce38 /extra/config/checklist.c | |
parent | db5a9ef35b66e495feb4daf2e9576883dd52926f (diff) |
Peter Kjellerstedt at axis.com writes:
Hello,
the attached patch should bring extra/config in line
with the Linux 2.6.7 sources.
The following are the commit messages for the respective
files from the Linux bk-repository:
checklist.c:
* fix menuconfig choice item help display
confdata.c:
* config: choice fix
* kconfig: don't rename target dir when saving config
expr.c, expr.h:
* config: disable debug prints
mconf.c:
* fix menuconfig choice item help display
menu.c:
* Kconfig: use select statements
symbol.c:
* config: choice fix
* Avoid bogus warning about recursive dependencies
* c99 struct initialiser conversions
textbox.c:
* janitor: don't init statics to 0
util.c:
* fix lxdialog behaviour
//Peter
Diffstat (limited to 'extra/config/checklist.c')
-rw-r--r-- | extra/config/checklist.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/extra/config/checklist.c b/extra/config/checklist.c index c4a9289b9..71de4a191 100644 --- a/extra/config/checklist.c +++ b/extra/config/checklist.c @@ -138,10 +138,12 @@ dialog_checklist (const char *title, const char *prompt, int height, int width, /* Initializes status */ for (i = 0; i < item_no; i++) { - status[i] = items[i]->selected; - if (!choice && status[i]) - choice = i; + status[i] = (items[i]->selected == 1); /* ON */ + if ((!choice && status[i]) || items[i]->selected == 2) /* SELECTED */ + choice = i + 1; } + if (choice) + choice--; max_choice = MIN (list_height, item_no); @@ -303,6 +305,9 @@ dialog_checklist (const char *title, const char *prompt, int height, int width, case 'H': case 'h': case '?': + for (i = 0; i < item_no; i++) + items[i]->selected = 0; + items[scroll + choice]->selected = 1; delwin (dialog); free (status); return 1; @@ -341,7 +346,11 @@ dialog_checklist (const char *title, const char *prompt, int height, int width, for (i = 0; i < item_no; i++) { items[i]->selected = status[i]; } - } + } else { + for (i = 0; i < item_no; i++) + items[i]->selected = 0; + items[scroll + choice]->selected = 1; + } delwin (dialog); free (status); return button; |