aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Ravnborg <sam@mars.ravnborg.org>2005-11-19 15:56:20 -0500
committerSam Ravnborg <sam@mars.ravnborg.org>2005-11-19 15:56:20 -0500
commitdec69da856653772d7ee7b2f98dc69da27274a22 (patch)
tree020cf19de028a402a6bfc792caaffeddaf5a3e9b
parentb1c5f1c635f4a821f834ed51ccd8a2a1515fffd2 (diff)
kconfig: fixup after Lindent
Readability are more important then the 80 coloumn limit, so fold several lines to greatly improve readability. Also keep return type on same line as function definition. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r--scripts/lxdialog/checklist.c99
-rw-r--r--scripts/lxdialog/dialog.h3
-rw-r--r--scripts/lxdialog/inputbox.c49
-rw-r--r--scripts/lxdialog/menubox.c83
-rw-r--r--scripts/lxdialog/msgbox.c5
-rw-r--r--scripts/lxdialog/textbox.c93
-rw-r--r--scripts/lxdialog/util.c2
-rw-r--r--scripts/lxdialog/yesno.c3
8 files changed, 108 insertions, 229 deletions
diff --git a/scripts/lxdialog/checklist.c b/scripts/lxdialog/checklist.c
index 1857c5378ce8..ae40a2b3b885 100644
--- a/scripts/lxdialog/checklist.c
+++ b/scripts/lxdialog/checklist.c
@@ -28,8 +28,8 @@ static int list_width, check_x, item_x, checkflag;
28/* 28/*
29 * Print list item 29 * Print list item
30 */ 30 */
31static void 31static void print_item(WINDOW * win, const char *item, int status, int choice,
32print_item(WINDOW * win, const char *item, int status, int choice, int selected) 32 int selected)
33{ 33{
34 int i; 34 int i;
35 35
@@ -59,8 +59,7 @@ print_item(WINDOW * win, const char *item, int status, int choice, int selected)
59/* 59/*
60 * Print the scroll indicators. 60 * Print the scroll indicators.
61 */ 61 */
62static void 62static void print_arrows(WINDOW * win, int choice, int item_no, int scroll,
63print_arrows(WINDOW * win, int choice, int item_no, int scroll,
64 int y, int x, int height) 63 int y, int x, int height)
65{ 64{
66 wmove(win, y, x); 65 wmove(win, y, x);
@@ -112,10 +111,9 @@ static void print_buttons(WINDOW * dialog, int height, int width, int selected)
112 * Display a dialog box with a list of options that can be turned on or off 111 * Display a dialog box with a list of options that can be turned on or off
113 * The `flag' parameter is used to select between radiolist and checklist. 112 * The `flag' parameter is used to select between radiolist and checklist.
114 */ 113 */
115int 114int dialog_checklist(const char *title, const char *prompt, int height,
116dialog_checklist(const char *title, const char *prompt, int height, int width, 115 int width, int list_height, int item_no,
117 int list_height, int item_no, const char *const *items, 116 const char *const *items, int flag)
118 int flag)
119{ 117{
120 int i, x, y, box_x, box_y; 118 int i, x, y, box_x, box_y;
121 int key = 0, button = 0, choice = 0, scroll = 0, max_choice, *status; 119 int key = 0, button = 0, choice = 0, scroll = 0, max_choice, *status;
@@ -183,15 +181,14 @@ dialog_checklist(const char *title, const char *prompt, int height, int width,
183 box_x = (width - list_width) / 2 - 1; 181 box_x = (width - list_width) / 2 - 1;
184 182
185 /* create new window for the list */ 183 /* create new window for the list */
186 list = 184 list = subwin(dialog, list_height, list_width, y + box_y + 1,
187 subwin(dialog, list_height, list_width, y + box_y + 1, 185 x + box_x + 1);
188 x + box_x + 1);
189 186
190 keypad(list, TRUE); 187 keypad(list, TRUE);
191 188
192 /* draw a box around the list items */ 189 /* draw a box around the list items */
193 draw_box(dialog, box_y, box_x, list_height + 2, list_width + 2, 190 draw_box(dialog, box_y, box_x, list_height + 2, list_width + 2,
194 menubox_border_attr, menubox_attr); 191 menubox_border_attr, menubox_attr);
195 192
196 /* Find length of longest item in order to center checklist */ 193 /* Find length of longest item in order to center checklist */
197 check_x = 0; 194 check_x = 0;
@@ -238,24 +235,18 @@ dialog_checklist(const char *title, const char *prompt, int height, int width,
238 /* Scroll list down */ 235 /* Scroll list down */
239 if (list_height > 1) { 236 if (list_height > 1) {
240 /* De-highlight current first item */ 237 /* De-highlight current first item */
241 print_item(list, 238 print_item(list, items[scroll * 3 + 1],
242 items[scroll * 3 + 239 status[scroll], 0, FALSE);
243 1],
244 status[scroll], 0,
245 FALSE);
246 scrollok(list, TRUE); 240 scrollok(list, TRUE);
247 wscrl(list, -1); 241 wscrl(list, -1);
248 scrollok(list, FALSE); 242 scrollok(list, FALSE);
249 } 243 }
250 scroll--; 244 scroll--;
251 print_item(list, items[scroll * 3 + 1], 245 print_item(list, items[scroll * 3 + 1], status[scroll], 0, TRUE);
252 status[scroll], 0, TRUE);
253 wnoutrefresh(list); 246 wnoutrefresh(list);
254 247
255 print_arrows(dialog, choice, item_no, 248 print_arrows(dialog, choice, item_no,
256 scroll, box_y, 249 scroll, box_y, box_x + check_x + 5, list_height);
257 box_x + check_x + 5,
258 list_height);
259 250
260 wrefresh(dialog); 251 wrefresh(dialog);
261 252
@@ -269,32 +260,20 @@ dialog_checklist(const char *title, const char *prompt, int height, int width,
269 /* Scroll list up */ 260 /* Scroll list up */
270 if (list_height > 1) { 261 if (list_height > 1) {
271 /* De-highlight current last item before scrolling up */ 262 /* De-highlight current last item before scrolling up */
272 print_item(list, 263 print_item(list, items[(scroll + max_choice - 1) * 3 + 1],
273 items[(scroll + 264 status[scroll + max_choice - 1],
274 max_choice - 265 max_choice - 1, FALSE);
275 1) * 3 + 1],
276 status[scroll +
277 max_choice -
278 1],
279 max_choice - 1,
280 FALSE);
281 scrollok(list, TRUE); 266 scrollok(list, TRUE);
282 wscrl(list, 1); 267 wscrl(list, 1);
283 scrollok(list, FALSE); 268 scrollok(list, FALSE);
284 } 269 }
285 scroll++; 270 scroll++;
286 print_item(list, 271 print_item(list, items[(scroll + max_choice - 1) * 3 + 1],
287 items[(scroll + max_choice - 272 status[scroll + max_choice - 1], max_choice - 1, TRUE);
288 1) * 3 + 1],
289 status[scroll + max_choice -
290 1], max_choice - 1,
291 TRUE);
292 wnoutrefresh(list); 273 wnoutrefresh(list);
293 274
294 print_arrows(dialog, choice, item_no, 275 print_arrows(dialog, choice, item_no,
295 scroll, box_y, 276 scroll, box_y, box_x + check_x + 5, list_height);
296 box_x + check_x + 5,
297 list_height);
298 277
299 wrefresh(dialog); 278 wrefresh(dialog);
300 279
@@ -304,16 +283,12 @@ dialog_checklist(const char *title, const char *prompt, int height, int width,
304 } 283 }
305 if (i != choice) { 284 if (i != choice) {
306 /* De-highlight current item */ 285 /* De-highlight current item */
307 print_item(list, 286 print_item(list, items[(scroll + choice) * 3 + 1],
308 items[(scroll + choice) * 3 + 1], 287 status[scroll + choice], choice, FALSE);
309 status[scroll + choice], choice,
310 FALSE);
311 /* Highlight new item */ 288 /* Highlight new item */
312 choice = i; 289 choice = i;
313 print_item(list, 290 print_item(list, items[(scroll + choice) * 3 + 1],
314 items[(scroll + choice) * 3 + 1], 291 status[scroll + choice], choice, TRUE);
315 status[scroll + choice], choice,
316 TRUE);
317 wnoutrefresh(list); 292 wnoutrefresh(list);
318 wrefresh(dialog); 293 wrefresh(dialog);
319 } 294 }
@@ -342,28 +317,18 @@ dialog_checklist(const char *title, const char *prompt, int height, int width,
342 case '\n': 317 case '\n':
343 if (!button) { 318 if (!button) {
344 if (flag == FLAG_CHECK) { 319 if (flag == FLAG_CHECK) {
345 status[scroll + choice] = 320 status[scroll + choice] = !status[scroll + choice];
346 !status[scroll + choice];
347 wmove(list, choice, check_x); 321 wmove(list, choice, check_x);
348 wattrset(list, check_selected_attr); 322 wattrset(list, check_selected_attr);
349 wprintw(list, "[%c]", 323 wprintw(list, "[%c]", status[scroll + choice] ? 'X' : ' ');
350 status[scroll +
351 choice] ? 'X' : ' ');
352 } else { 324 } else {
353 if (!status[scroll + choice]) { 325 if (!status[scroll + choice]) {
354 for (i = 0; i < item_no; i++) 326 for (i = 0; i < item_no; i++)
355 status[i] = 0; 327 status[i] = 0;
356 status[scroll + choice] = 1; 328 status[scroll + choice] = 1;
357 for (i = 0; i < max_choice; i++) 329 for (i = 0; i < max_choice; i++)
358 print_item(list, 330 print_item(list, items[(scroll + i) * 3 + 1],
359 items[(scroll 331 status[scroll + i], i, i == choice);
360 +
361 i) *
362 3 + 1],
363 status[scroll
364 + i],
365 i,
366 i == choice);
367 } 332 }
368 } 333 }
369 wnoutrefresh(list); 334 wnoutrefresh(list);
@@ -372,19 +337,15 @@ dialog_checklist(const char *title, const char *prompt, int height, int width,
372 for (i = 0; i < item_no; i++) { 337 for (i = 0; i < item_no; i++) {
373 if (status[i]) { 338 if (status[i]) {
374 if (flag == FLAG_CHECK) { 339 if (flag == FLAG_CHECK) {
375 fprintf(stderr, 340 fprintf(stderr, "\"%s\" ", items[i * 3]);
376 "\"%s\" ",
377 items[i * 3]);
378 } else { 341 } else {
379 fprintf(stderr, "%s", 342 fprintf(stderr, "%s", items[i * 3]);
380 items[i * 3]);
381 } 343 }
382 344
383 } 345 }
384 } 346 }
385 } else 347 } else
386 fprintf(stderr, "%s", 348 fprintf(stderr, "%s", items[(scroll + choice) * 3]);
387 items[(scroll + choice) * 3]);
388 delwin(dialog); 349 delwin(dialog);
389 free(status); 350 free(status);
390 return button; 351 return button;
diff --git a/scripts/lxdialog/dialog.h b/scripts/lxdialog/dialog.h
index c86801f981fe..3cf3d3526ef0 100644
--- a/scripts/lxdialog/dialog.h
+++ b/scripts/lxdialog/dialog.h
@@ -1,4 +1,3 @@
1
2/* 1/*
3 * dialog.h -- common declarations for all dialog modules 2 * dialog.h -- common declarations for all dialog modules
4 * 3 *
@@ -87,7 +86,7 @@
87#define ACS_DARROW 'v' 86#define ACS_DARROW 'v'
88#endif 87#endif
89 88
90/* 89/*
91 * Attribute names 90 * Attribute names
92 */ 91 */
93#define screen_attr attributes[0] 92#define screen_attr attributes[0]
diff --git a/scripts/lxdialog/inputbox.c b/scripts/lxdialog/inputbox.c
index 9e9691567269..bc135c7093d9 100644
--- a/scripts/lxdialog/inputbox.c
+++ b/scripts/lxdialog/inputbox.c
@@ -41,9 +41,8 @@ static void print_buttons(WINDOW * dialog, int height, int width, int selected)
41/* 41/*
42 * Display a dialog box for inputing a string 42 * Display a dialog box for inputing a string
43 */ 43 */
44int 44int dialog_inputbox(const char *title, const char *prompt, int height, int width,
45dialog_inputbox(const char *title, const char *prompt, int height, int width, 45 const char *init)
46 const char *init)
47{ 46{
48 int i, x, y, box_y, box_x, box_width; 47 int i, x, y, box_y, box_x, box_width;
49 int input_x = 0, scroll = 0, key = 0, button = -1; 48 int input_x = 0, scroll = 0, key = 0, button = -1;
@@ -90,8 +89,7 @@ dialog_inputbox(const char *title, const char *prompt, int height, int width,
90 getyx(dialog, y, x); 89 getyx(dialog, y, x);
91 box_y = y + 2; 90 box_y = y + 2;
92 box_x = (width - box_width) / 2; 91 box_x = (width - box_width) / 2;
93 draw_box(dialog, y + 1, box_x - 1, 3, box_width + 2, 92 draw_box(dialog, y + 1, box_x - 1, 3, box_width + 2, border_attr, dialog_attr);
94 border_attr, dialog_attr);
95 93
96 print_buttons(dialog, height, width, 0); 94 print_buttons(dialog, height, width, 0);
97 95
@@ -111,8 +109,9 @@ dialog_inputbox(const char *title, const char *prompt, int height, int width,
111 input_x = box_width - 1; 109 input_x = box_width - 1;
112 for (i = 0; i < box_width - 1; i++) 110 for (i = 0; i < box_width - 1; i++)
113 waddch(dialog, instr[scroll + i]); 111 waddch(dialog, instr[scroll + i]);
114 } else 112 } else {
115 waddstr(dialog, instr); 113 waddstr(dialog, instr);
114 }
116 115
117 wmove(dialog, box_y, box_x + input_x); 116 wmove(dialog, box_y, box_x + input_x);
118 117
@@ -136,26 +135,17 @@ dialog_inputbox(const char *title, const char *prompt, int height, int width,
136 if (input_x || scroll) { 135 if (input_x || scroll) {
137 wattrset(dialog, inputbox_attr); 136 wattrset(dialog, inputbox_attr);
138 if (!input_x) { 137 if (!input_x) {
139 scroll = 138 scroll = scroll < box_width - 1 ? 0 : scroll - (box_width - 1);
140 scroll <
141 box_width - 1 ? 0 : scroll -
142 (box_width - 1);
143 wmove(dialog, box_y, box_x); 139 wmove(dialog, box_y, box_x);
144 for (i = 0; i < box_width; i++) 140 for (i = 0; i < box_width; i++)
145 waddch(dialog, 141 waddch(dialog,
146 instr[scroll + 142 instr[scroll + input_x + i] ?
147 input_x + 143 instr[scroll + input_x + i] : ' ');
148 i] ? 144 input_x = strlen(instr) - scroll;
149 instr[scroll +
150 input_x +
151 i] : ' ');
152 input_x =
153 strlen(instr) - scroll;
154 } else 145 } else
155 input_x--; 146 input_x--;
156 instr[scroll + input_x] = '\0'; 147 instr[scroll + input_x] = '\0';
157 mvwaddch(dialog, box_y, input_x + box_x, 148 mvwaddch(dialog, box_y, input_x + box_x, ' ');
158 ' ');
159 wmove(dialog, box_y, input_x + box_x); 149 wmove(dialog, box_y, input_x + box_x);
160 wrefresh(dialog); 150 wrefresh(dialog);
161 } 151 }
@@ -165,23 +155,14 @@ dialog_inputbox(const char *title, const char *prompt, int height, int width,
165 if (scroll + input_x < MAX_LEN) { 155 if (scroll + input_x < MAX_LEN) {
166 wattrset(dialog, inputbox_attr); 156 wattrset(dialog, inputbox_attr);
167 instr[scroll + input_x] = key; 157 instr[scroll + input_x] = key;
168 instr[scroll + input_x + 1] = 158 instr[scroll + input_x + 1] = '\0';
169 '\0';
170 if (input_x == box_width - 1) { 159 if (input_x == box_width - 1) {
171 scroll++; 160 scroll++;
172 wmove(dialog, box_y, 161 wmove(dialog, box_y, box_x);
173 box_x); 162 for (i = 0; i < box_width - 1; i++)
174 for (i = 0; 163 waddch(dialog, instr [scroll + i]);
175 i < box_width - 1;
176 i++)
177 waddch(dialog,
178 instr
179 [scroll +
180 i]);
181 } else { 164 } else {
182 wmove(dialog, box_y, 165 wmove(dialog, box_y, input_x++ + box_x);
183 input_x++ +
184 box_x);
185 waddch(dialog, key); 166 waddch(dialog, key);
186 } 167 }
187 wrefresh(dialog); 168 wrefresh(dialog);
diff --git a/scripts/lxdialog/menubox.c b/scripts/lxdialog/menubox.c
index 083f13de558c..260cc4dd5dab 100644
--- a/scripts/lxdialog/menubox.c
+++ b/scripts/lxdialog/menubox.c
@@ -63,8 +63,8 @@ static int menu_width, item_x;
63/* 63/*
64 * Print menu item 64 * Print menu item
65 */ 65 */
66static void 66static void print_item(WINDOW * win, const char *item, int choice,
67print_item(WINDOW * win, const char *item, int choice, int selected, int hotkey) 67 int selected, int hotkey)
68{ 68{
69 int j; 69 int j;
70 char menu_item[menu_width + 1]; 70 char menu_item[menu_width + 1];
@@ -100,8 +100,8 @@ print_item(WINDOW * win, const char *item, int choice, int selected, int hotkey)
100/* 100/*
101 * Print the scroll indicators. 101 * Print the scroll indicators.
102 */ 102 */
103static void 103static void print_arrows(WINDOW * win, int item_no, int scroll, int y, int x,
104print_arrows(WINDOW * win, int item_no, int scroll, int y, int x, int height) 104 int height)
105{ 105{
106 int cur_y, cur_x; 106 int cur_y, cur_x;
107 107
@@ -158,10 +158,9 @@ static void print_buttons(WINDOW * win, int height, int width, int selected)
158/* 158/*
159 * Display a menu for choosing among a number of options 159 * Display a menu for choosing among a number of options
160 */ 160 */
161int 161int dialog_menu(const char *title, const char *prompt, int height, int width,
162dialog_menu(const char *title, const char *prompt, int height, int width, 162 int menu_height, const char *current, int item_no,
163 int menu_height, const char *current, int item_no, 163 const char *const *items)
164 const char *const *items)
165{ 164{
166 int i, j, x, y, box_x, box_y; 165 int i, j, x, y, box_x, box_y;
167 int key = 0, button = 0, scroll = 0, choice = 0, first_item = 166 int key = 0, button = 0, scroll = 0, choice = 0, first_item =
@@ -283,20 +282,14 @@ dialog_menu(const char *title, const char *prompt, int height, int width,
283 i = max_choice; 282 i = max_choice;
284 else { 283 else {
285 for (i = choice + 1; i < max_choice; i++) { 284 for (i = choice + 1; i < max_choice; i++) {
286 j = first_alpha(items[(scroll + i) * 2 + 1], 285 j = first_alpha(items[(scroll + i) * 2 + 1], "YyNnMmHh");
287 "YyNnMmHh"); 286 if (key == tolower(items[(scroll + i) * 2 + 1][j]))
288 if (key ==
289 tolower(items[(scroll + i) * 2 + 1][j]))
290 break; 287 break;
291 } 288 }
292 if (i == max_choice) 289 if (i == max_choice)
293 for (i = 0; i < max_choice; i++) { 290 for (i = 0; i < max_choice; i++) {
294 j = first_alpha(items 291 j = first_alpha(items [(scroll + i) * 2 + 1], "YyNnMmHh");
295 [(scroll + i) * 2 + 1], 292 if (key == tolower(items[(scroll + i) * 2 + 1][j]))
296 "YyNnMmHh");
297 if (key ==
298 tolower(items[(scroll + i) * 2 + 1]
299 [j]))
300 break; 293 break;
301 } 294 }
302 } 295 }
@@ -319,24 +312,19 @@ dialog_menu(const char *title, const char *prompt, int height, int width,
319 312
320 scroll--; 313 scroll--;
321 314
322 print_item(menu, items[scroll * 2 + 1], 315 print_item(menu, items[scroll * 2 + 1], 0, FALSE,
323 0, FALSE, 316 (items[scroll * 2][0] != ':'));
324 (items[scroll * 2][0] !=
325 ':'));
326 } else 317 } else
327 choice = MAX(choice - 1, 0); 318 choice = MAX(choice - 1, 0);
328 319
329 } else if (key == KEY_DOWN || key == '+') { 320 } else if (key == KEY_DOWN || key == '+') {
330 321
331 print_item(menu, 322 print_item(menu,
332 items[(scroll + choice) * 2 + 1], 323 items[(scroll + choice) * 2 + 1], choice, FALSE,
333 choice, FALSE, 324 (items[(scroll + choice) * 2][0] != ':'));
334 (items[(scroll + choice) * 2][0] !=
335 ':'));
336 325
337 if ((choice > max_choice - 3) && 326 if ((choice > max_choice - 3) &&
338 (scroll + max_choice < item_no) 327 (scroll + max_choice < item_no)) {
339 ) {
340 /* Scroll menu up */ 328 /* Scroll menu up */
341 scrollok(menu, TRUE); 329 scrollok(menu, TRUE);
342 wscrl(menu, 1); 330 wscrl(menu, 1);
@@ -344,16 +332,11 @@ dialog_menu(const char *title, const char *prompt, int height, int width,
344 332
345 scroll++; 333 scroll++;
346 334
347 print_item(menu, 335 print_item(menu, items[(scroll + max_choice - 1) * 2 + 1],
348 items[(scroll + max_choice -
349 1) * 2 + 1],
350 max_choice - 1, FALSE, 336 max_choice - 1, FALSE,
351 (items 337 (items [(scroll + max_choice - 1) * 2][0] != ':'));
352 [(scroll + max_choice -
353 1) * 2][0] != ':'));
354 } else 338 } else
355 choice = 339 choice = MIN(choice + 1, max_choice - 1);
356 MIN(choice + 1, max_choice - 1);
357 340
358 } else if (key == KEY_PPAGE) { 341 } else if (key == KEY_PPAGE) {
359 scrollok(menu, TRUE); 342 scrollok(menu, TRUE);
@@ -361,11 +344,8 @@ dialog_menu(const char *title, const char *prompt, int height, int width,
361 if (scroll > 0) { 344 if (scroll > 0) {
362 wscrl(menu, -1); 345 wscrl(menu, -1);
363 scroll--; 346 scroll--;
364 print_item(menu, 347 print_item(menu, items[scroll * 2 + 1], 0, FALSE,
365 items[scroll * 2 + 348 (items[scroll * 2][0] != ':'));
366 1], 0, FALSE,
367 (items[scroll * 2][0]
368 != ':'));
369 } else { 349 } else {
370 if (choice > 0) 350 if (choice > 0)
371 choice--; 351 choice--;
@@ -380,17 +360,9 @@ dialog_menu(const char *title, const char *prompt, int height, int width,
380 wscrl(menu, 1); 360 wscrl(menu, 1);
381 scrollok(menu, FALSE); 361 scrollok(menu, FALSE);
382 scroll++; 362 scroll++;
383 print_item(menu, 363 print_item(menu, items[(scroll + max_choice - 1) * 2 + 1],
384 items[(scroll + 364 max_choice - 1, FALSE,
385 max_choice - 365 (items [(scroll + max_choice - 1) * 2][0] != ':'));
386 1) * 2 + 1],
387 max_choice - 1,
388 FALSE,
389 (items
390 [(scroll +
391 max_choice -
392 1) * 2][0] !=
393 ':'));
394 } else { 366 } else {
395 if (choice + 1 < max_choice) 367 if (choice + 1 < max_choice)
396 choice++; 368 choice++;
@@ -401,8 +373,7 @@ dialog_menu(const char *title, const char *prompt, int height, int width,
401 choice = i; 373 choice = i;
402 374
403 print_item(menu, items[(scroll + choice) * 2 + 1], 375 print_item(menu, items[(scroll + choice) * 2 + 1],
404 choice, TRUE, 376 choice, TRUE, (items[(scroll + choice) * 2][0] != ':'));
405 (items[(scroll + choice) * 2][0] != ':'));
406 377
407 print_arrows(dialog, item_no, scroll, 378 print_arrows(dialog, item_no, scroll,
408 box_y, box_x + item_x + 1, menu_height); 379 box_y, box_x + item_x + 1, menu_height);
@@ -460,9 +431,7 @@ dialog_menu(const char *title, const char *prompt, int height, int width,
460 fprintf(stderr, "%s \"%s\"\n", 431 fprintf(stderr, "%s \"%s\"\n",
461 items[(scroll + choice) * 2], 432 items[(scroll + choice) * 2],
462 items[(scroll + choice) * 2 + 1] + 433 items[(scroll + choice) * 2 + 1] +
463 first_alpha(items 434 first_alpha(items [(scroll + choice) * 2 + 1], ""));
464 [(scroll + choice) * 2 + 1],
465 ""));
466 else 435 else
467 fprintf(stderr, "%s\n", 436 fprintf(stderr, "%s\n",
468 items[(scroll + choice) * 2]); 437 items[(scroll + choice) * 2]);
diff --git a/scripts/lxdialog/msgbox.c b/scripts/lxdialog/msgbox.c
index 76f358ca1fda..b39405717da1 100644
--- a/scripts/lxdialog/msgbox.c
+++ b/scripts/lxdialog/msgbox.c
@@ -25,9 +25,8 @@
25 * Display a message box. Program will pause and display an "OK" button 25 * Display a message box. Program will pause and display an "OK" button
26 * if the parameter 'pause' is non-zero. 26 * if the parameter 'pause' is non-zero.
27 */ 27 */
28int 28int dialog_msgbox(const char *title, const char *prompt, int height, int width,
29dialog_msgbox(const char *title, const char *prompt, int height, int width, 29 int pause)
30 int pause)
31{ 30{
32 int i, x, y, key = 0; 31 int i, x, y, key = 0;
33 WINDOW *dialog; 32 WINDOW *dialog;
diff --git a/scripts/lxdialog/textbox.c b/scripts/lxdialog/textbox.c
index d6e7f2afe31a..fa8d92ea02b6 100644
--- a/scripts/lxdialog/textbox.c
+++ b/scripts/lxdialog/textbox.c
@@ -46,30 +46,26 @@ int dialog_textbox(const char *title, const char *file, int height, int width)
46 /* Open input file for reading */ 46 /* Open input file for reading */
47 if ((fd = open(file, O_RDONLY)) == -1) { 47 if ((fd = open(file, O_RDONLY)) == -1) {
48 endwin(); 48 endwin();
49 fprintf(stderr, 49 fprintf(stderr, "\nCan't open input file in dialog_textbox().\n");
50 "\nCan't open input file in dialog_textbox().\n");
51 exit(-1); 50 exit(-1);
52 } 51 }
53 /* Get file size. Actually, 'file_size' is the real file size - 1, 52 /* Get file size. Actually, 'file_size' is the real file size - 1,
54 since it's only the last byte offset from the beginning */ 53 since it's only the last byte offset from the beginning */
55 if ((file_size = lseek(fd, 0, SEEK_END)) == -1) { 54 if ((file_size = lseek(fd, 0, SEEK_END)) == -1) {
56 endwin(); 55 endwin();
57 fprintf(stderr, 56 fprintf(stderr, "\nError getting file size in dialog_textbox().\n");
58 "\nError getting file size in dialog_textbox().\n");
59 exit(-1); 57 exit(-1);
60 } 58 }
61 /* Restore file pointer to beginning of file after getting file size */ 59 /* Restore file pointer to beginning of file after getting file size */
62 if (lseek(fd, 0, SEEK_SET) == -1) { 60 if (lseek(fd, 0, SEEK_SET) == -1) {
63 endwin(); 61 endwin();
64 fprintf(stderr, 62 fprintf(stderr, "\nError moving file pointer in dialog_textbox().\n");
65 "\nError moving file pointer in dialog_textbox().\n");
66 exit(-1); 63 exit(-1);
67 } 64 }
68 /* Allocate space for read buffer */ 65 /* Allocate space for read buffer */
69 if ((buf = malloc(BUF_SIZE + 1)) == NULL) { 66 if ((buf = malloc(BUF_SIZE + 1)) == NULL) {
70 endwin(); 67 endwin();
71 fprintf(stderr, 68 fprintf(stderr, "\nCan't allocate memory in dialog_textbox().\n");
72 "\nCan't allocate memory in dialog_textbox().\n");
73 exit(-1); 69 exit(-1);
74 } 70 }
75 if ((bytes_read = read(fd, buf, BUF_SIZE)) == -1) { 71 if ((bytes_read = read(fd, buf, BUF_SIZE)) == -1) {
@@ -150,23 +146,20 @@ int dialog_textbox(const char *title, const char *file, int height, int width)
150 /* First page not in buffer? */ 146 /* First page not in buffer? */
151 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) { 147 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) {
152 endwin(); 148 endwin();
153 fprintf(stderr, 149 fprintf(stderr, "\nError moving file pointer in dialog_textbox().\n");
154 "\nError moving file pointer in dialog_textbox().\n");
155 exit(-1); 150 exit(-1);
156 } 151 }
157 if (fpos > bytes_read) { /* Yes, we have to read it in */ 152 if (fpos > bytes_read) { /* Yes, we have to read it in */
158 if (lseek(fd, 0, SEEK_SET) == -1) { 153 if (lseek(fd, 0, SEEK_SET) == -1) {
159 endwin(); 154 endwin();
160 fprintf(stderr, 155 fprintf(stderr, "\nError moving file pointer in "
161 "\nError moving file pointer in " 156 "dialog_textbox().\n");
162 "dialog_textbox().\n");
163 exit(-1); 157 exit(-1);
164 } 158 }
165 if ((bytes_read = 159 if ((bytes_read =
166 read(fd, buf, BUF_SIZE)) == -1) { 160 read(fd, buf, BUF_SIZE)) == -1) {
167 endwin(); 161 endwin();
168 fprintf(stderr, 162 fprintf(stderr, "\nError reading file in dialog_textbox().\n");
169 "\nError reading file in dialog_textbox().\n");
170 exit(-1); 163 exit(-1);
171 } 164 }
172 buf[bytes_read] = '\0'; 165 buf[bytes_read] = '\0';
@@ -185,22 +178,19 @@ int dialog_textbox(const char *title, const char *file, int height, int width)
185 /* Last page not in buffer? */ 178 /* Last page not in buffer? */
186 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) { 179 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) {
187 endwin(); 180 endwin();
188 fprintf(stderr, 181 fprintf(stderr, "\nError moving file pointer in dialog_textbox().\n");
189 "\nError moving file pointer in dialog_textbox().\n");
190 exit(-1); 182 exit(-1);
191 } 183 }
192 if (fpos < file_size) { /* Yes, we have to read it in */ 184 if (fpos < file_size) { /* Yes, we have to read it in */
193 if (lseek(fd, -BUF_SIZE, SEEK_END) == -1) { 185 if (lseek(fd, -BUF_SIZE, SEEK_END) == -1) {
194 endwin(); 186 endwin();
195 fprintf(stderr, 187 fprintf(stderr, "\nError moving file pointer in dialog_textbox().\n");
196 "\nError moving file pointer in dialog_textbox().\n");
197 exit(-1); 188 exit(-1);
198 } 189 }
199 if ((bytes_read = 190 if ((bytes_read =
200 read(fd, buf, BUF_SIZE)) == -1) { 191 read(fd, buf, BUF_SIZE)) == -1) {
201 endwin(); 192 endwin();
202 fprintf(stderr, 193 fprintf(stderr, "\nError reading file in dialog_textbox().\n");
203 "\nError reading file in dialog_textbox().\n");
204 exit(-1); 194 exit(-1);
205 } 195 }
206 buf[bytes_read] = '\0'; 196 buf[bytes_read] = '\0';
@@ -342,9 +332,8 @@ static void back_lines(int n)
342 if (page == buf) { 332 if (page == buf) {
343 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) { 333 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) {
344 endwin(); 334 endwin();
345 fprintf(stderr, 335 fprintf(stderr, "\nError moving file pointer in "
346 "\nError moving file pointer in " 336 "back_lines().\n");
347 "back_lines().\n");
348 exit(-1); 337 exit(-1);
349 } 338 }
350 if (fpos > bytes_read) { /* Not beginning of file yet */ 339 if (fpos > bytes_read) { /* Not beginning of file yet */
@@ -358,21 +347,16 @@ static void back_lines(int n)
358 /* No, move less then */ 347 /* No, move less then */
359 if (lseek(fd, 0, SEEK_SET) == -1) { 348 if (lseek(fd, 0, SEEK_SET) == -1) {
360 endwin(); 349 endwin();
361 fprintf(stderr, 350 fprintf(stderr, "\nError moving file pointer in "
362 "\nError moving file pointer in " 351 "back_lines().\n");
363 "back_lines().\n");
364 exit(-1); 352 exit(-1);
365 } 353 }
366 page = buf + fpos - bytes_read; 354 page = buf + fpos - bytes_read;
367 } else { /* Move backward BUF_SIZE/2 bytes */ 355 } else { /* Move backward BUF_SIZE/2 bytes */
368 if (lseek 356 if (lseek (fd, -(BUF_SIZE / 2 + bytes_read), SEEK_CUR) == -1) {
369 (fd, -(BUF_SIZE / 2 + bytes_read),
370 SEEK_CUR)
371 == -1) {
372 endwin(); 357 endwin();
373 fprintf(stderr, 358 fprintf(stderr, "\nError moving file pointer "
374 "\nError moving file pointer " 359 "in back_lines().\n");
375 "in back_lines().\n");
376 exit(-1); 360 exit(-1);
377 } 361 }
378 page = buf + BUF_SIZE / 2; 362 page = buf + BUF_SIZE / 2;
@@ -380,8 +364,7 @@ static void back_lines(int n)
380 if ((bytes_read = 364 if ((bytes_read =
381 read(fd, buf, BUF_SIZE)) == -1) { 365 read(fd, buf, BUF_SIZE)) == -1) {
382 endwin(); 366 endwin();
383 fprintf(stderr, 367 fprintf(stderr, "\nError reading file in back_lines().\n");
384 "\nError reading file in back_lines().\n");
385 exit(-1); 368 exit(-1);
386 } 369 }
387 buf[bytes_read] = '\0'; 370 buf[bytes_read] = '\0';
@@ -403,33 +386,25 @@ static void back_lines(int n)
403 if (page == buf) { 386 if (page == buf) {
404 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) { 387 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) {
405 endwin(); 388 endwin();
406 fprintf(stderr, 389 fprintf(stderr, "\nError moving file pointer in back_lines().\n");
407 "\nError moving file pointer in back_lines().\n");
408 exit(-1); 390 exit(-1);
409 } 391 }
410 if (fpos > bytes_read) { 392 if (fpos > bytes_read) {
411 /* Really possible to move backward BUF_SIZE/2 bytes? */ 393 /* Really possible to move backward BUF_SIZE/2 bytes? */
412 if (fpos < BUF_SIZE / 2 + bytes_read) { 394 if (fpos < BUF_SIZE / 2 + bytes_read) {
413 /* No, move less then */ 395 /* No, move less then */
414 if (lseek(fd, 0, SEEK_SET) == 396 if (lseek(fd, 0, SEEK_SET) == -1) {
415 -1) {
416 endwin(); 397 endwin();
417 fprintf(stderr, 398 fprintf(stderr, "\nError moving file pointer "
418 "\nError moving file pointer " 399 "in back_lines().\n");
419 "in back_lines().\n");
420 exit(-1); 400 exit(-1);
421 } 401 }
422 page = buf + fpos - bytes_read; 402 page = buf + fpos - bytes_read;
423 } else { /* Move backward BUF_SIZE/2 bytes */ 403 } else { /* Move backward BUF_SIZE/2 bytes */
424 if (lseek 404 if (lseek (fd, -(BUF_SIZE / 2 + bytes_read), SEEK_CUR) == -1) {
425 (fd,
426 -(BUF_SIZE / 2 +
427 bytes_read),
428 SEEK_CUR) == -1) {
429 endwin(); 405 endwin();
430 fprintf(stderr, 406 fprintf(stderr, "\nError moving file pointer"
431 "\nError moving file pointer" 407 " in back_lines().\n");
432 " in back_lines().\n");
433 exit(-1); 408 exit(-1);
434 } 409 }
435 page = buf + BUF_SIZE / 2; 410 page = buf + BUF_SIZE / 2;
@@ -437,9 +412,8 @@ static void back_lines(int n)
437 if ((bytes_read = 412 if ((bytes_read =
438 read(fd, buf, BUF_SIZE)) == -1) { 413 read(fd, buf, BUF_SIZE)) == -1) {
439 endwin(); 414 endwin();
440 fprintf(stderr, 415 fprintf(stderr, "\nError reading file in "
441 "\nError reading file in " 416 "back_lines().\n");
442 "back_lines().\n");
443 exit(-1); 417 exit(-1);
444 } 418 }
445 buf[bytes_read] = '\0'; 419 buf[bytes_read] = '\0';
@@ -513,9 +487,8 @@ static char *get_line(void)
513 /* Either end of file or end of buffer reached */ 487 /* Either end of file or end of buffer reached */
514 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) { 488 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) {
515 endwin(); 489 endwin();
516 fprintf(stderr, 490 fprintf(stderr, "\nError moving file pointer in "
517 "\nError moving file pointer in " 491 "get_line().\n");
518 "get_line().\n");
519 exit(-1); 492 exit(-1);
520 } 493 }
521 if (fpos < file_size) { /* Not end of file yet */ 494 if (fpos < file_size) { /* Not end of file yet */
@@ -524,8 +497,7 @@ static char *get_line(void)
524 if ((bytes_read = 497 if ((bytes_read =
525 read(fd, buf, BUF_SIZE)) == -1) { 498 read(fd, buf, BUF_SIZE)) == -1) {
526 endwin(); 499 endwin();
527 fprintf(stderr, 500 fprintf(stderr, "\nError reading file in get_line().\n");
528 "\nError reading file in get_line().\n");
529 exit(-1); 501 exit(-1);
530 } 502 }
531 buf[bytes_read] = '\0'; 503 buf[bytes_read] = '\0';
@@ -561,8 +533,7 @@ static void print_position(WINDOW * win, int height, int width)
561 533
562 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) { 534 if ((fpos = lseek(fd, 0, SEEK_CUR)) == -1) {
563 endwin(); 535 endwin();
564 fprintf(stderr, 536 fprintf(stderr, "\nError moving file pointer in print_position().\n");
565 "\nError moving file pointer in print_position().\n");
566 exit(-1); 537 exit(-1);
567 } 538 }
568 wattrset(win, position_indicator_attr); 539 wattrset(win, position_indicator_attr);
diff --git a/scripts/lxdialog/util.c b/scripts/lxdialog/util.c
index 232b32c4fc38..1f84809773f0 100644
--- a/scripts/lxdialog/util.c
+++ b/scripts/lxdialog/util.c
@@ -28,7 +28,7 @@ const char *backtitle = NULL;
28 28
29const char *dialog_result; 29const char *dialog_result;
30 30
31/* 31/*
32 * Attribute values, default is for mono display 32 * Attribute values, default is for mono display
33 */ 33 */
34chtype attributes[] = { 34chtype attributes[] = {
diff --git a/scripts/lxdialog/yesno.c b/scripts/lxdialog/yesno.c
index dffd5af36713..84f3e8e005e4 100644
--- a/scripts/lxdialog/yesno.c
+++ b/scripts/lxdialog/yesno.c
@@ -96,8 +96,7 @@ int dialog_yesno(const char *title, const char *prompt, int height, int width)
96 case TAB: 96 case TAB:
97 case KEY_LEFT: 97 case KEY_LEFT:
98 case KEY_RIGHT: 98 case KEY_RIGHT:
99 button = ((key == KEY_LEFT ? --button : ++button) < 0) 99 button = ((key == KEY_LEFT ? --button : ++button) < 0) ? 1 : (button > 1 ? 0 : button);
100 ? 1 : (button > 1 ? 0 : button);
101 100
102 print_buttons(dialog, height, width, button); 101 print_buttons(dialog, height, width, button);
103 wrefresh(dialog); 102 wrefresh(dialog);