summaryrefslogtreecommitdiff
path: root/package/config/lxdialog
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-08-21 17:00:49 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-09-01 12:26:49 +0200
commit52a142a6314905422f14f05fccafdce35bea7f08 (patch)
tree8eeda1ea9da4aade3e64d06306140f523c289700 /package/config/lxdialog
parent7c524dd0b683e1e8fac4e4084ac7678576bfbe07 (diff)
Bump package/config to 2.6.36-rc1
The goal is to be able to use savedefconfig to generate minimal defconfig files. Four of our patches are removed since the modifications have been merged upstream. The new nconf configuration utility has appeared. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/config/lxdialog')
-rw-r--r--package/config/lxdialog/.gitignore4
-rw-r--r--package/config/lxdialog/checklist.c10
-rw-r--r--package/config/lxdialog/inputbox.c4
-rw-r--r--package/config/lxdialog/menubox.c22
-rw-r--r--package/config/lxdialog/util.c2
5 files changed, 27 insertions, 15 deletions
diff --git a/package/config/lxdialog/.gitignore b/package/config/lxdialog/.gitignore
new file mode 100644
index 000000000..90b08ff02
--- /dev/null
+++ b/package/config/lxdialog/.gitignore
@@ -0,0 +1,4 @@
+#
+# Generated files
+#
+lxdialog
diff --git a/package/config/lxdialog/checklist.c b/package/config/lxdialog/checklist.c
index bcc6f19c3..a2eb80fbc 100644
--- a/package/config/lxdialog/checklist.c
+++ b/package/config/lxdialog/checklist.c
@@ -31,6 +31,10 @@ static int list_width, check_x, item_x;
static void print_item(WINDOW * win, int choice, int selected)
{
int i;
+ char *list_item = malloc(list_width + 1);
+
+ strncpy(list_item, item_str(), list_width - item_x);
+ list_item[list_width - item_x] = '\0';
/* Clear 'residue' of last item */
wattrset(win, dlg.menubox.atr);
@@ -45,13 +49,14 @@ static void print_item(WINDOW * win, int choice, int selected)
wprintw(win, "(%c)", item_is_tag('X') ? 'X' : ' ');
wattrset(win, selected ? dlg.tag_selected.atr : dlg.tag.atr);
- mvwaddch(win, choice, item_x, item_str()[0]);
+ mvwaddch(win, choice, item_x, list_item[0]);
wattrset(win, selected ? dlg.item_selected.atr : dlg.item.atr);
- waddstr(win, (char *)item_str() + 1);
+ waddstr(win, list_item + 1);
if (selected) {
wmove(win, choice, check_x + 1);
wrefresh(win);
}
+ free(list_item);
}
/*
@@ -175,6 +180,7 @@ do_resize:
check_x = 0;
item_foreach()
check_x = MAX(check_x, strlen(item_str()) + 4);
+ check_x = MIN(check_x, list_width);
check_x = (list_width - check_x) / 2;
item_x = check_x + 4;
diff --git a/package/config/lxdialog/inputbox.c b/package/config/lxdialog/inputbox.c
index 616c60138..dd8e587c5 100644
--- a/package/config/lxdialog/inputbox.c
+++ b/package/config/lxdialog/inputbox.c
@@ -180,7 +180,7 @@ do_resize:
case KEY_LEFT:
switch (button) {
case -1:
- button = 1; /* Indicates "Cancel" button is selected */
+ button = 1; /* Indicates "Help" button is selected */
print_buttons(dialog, height, width, 1);
break;
case 0:
@@ -204,7 +204,7 @@ do_resize:
print_buttons(dialog, height, width, 0);
break;
case 0:
- button = 1; /* Indicates "Cancel" button is selected */
+ button = 1; /* Indicates "Help" button is selected */
print_buttons(dialog, height, width, 1);
break;
case 1:
diff --git a/package/config/lxdialog/menubox.c b/package/config/lxdialog/menubox.c
index fa9d633f2..1d604738f 100644
--- a/package/config/lxdialog/menubox.c
+++ b/package/config/lxdialog/menubox.c
@@ -383,6 +383,10 @@ do_resize:
case 'n':
case 'm':
case '/':
+ case 'h':
+ case '?':
+ case 'z':
+ case '\n':
/* save scroll info */
*s_scroll = scroll;
delwin(menu);
@@ -390,8 +394,10 @@ do_resize:
item_set(scroll + choice);
item_set_selected(1);
switch (key) {
+ case 'h':
+ case '?':
+ return 2;
case 's':
- return 3;
case 'y':
return 3;
case 'n':
@@ -402,18 +408,12 @@ do_resize:
return 6;
case '/':
return 7;
+ case 'z':
+ return 8;
+ case '\n':
+ return button;
}
return 0;
- case 'h':
- case '?':
- button = 2;
- case '\n':
- *s_scroll = scroll;
- delwin(menu);
- delwin(dialog);
- item_set(scroll + choice);
- item_set_selected(1);
- return button;
case 'e':
case 'x':
key = KEY_ESC;
diff --git a/package/config/lxdialog/util.c b/package/config/lxdialog/util.c
index 86d95cca4..f2375ad7e 100644
--- a/package/config/lxdialog/util.c
+++ b/package/config/lxdialog/util.c
@@ -19,6 +19,8 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <stdarg.h>
+
#include "dialog.h"
struct dialog_info dlg;