From 16eeff79f83b73f60ba483e0c76ad6eb29fd24eb Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Fri, 16 Feb 2001 16:50:22 +0000 Subject: display more nicely when there is a long list to choose from (1, 2 or 4 columns) --- mdk-stage1/stdio-frontend.c | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) (limited to 'mdk-stage1/stdio-frontend.c') diff --git a/mdk-stage1/stdio-frontend.c b/mdk-stage1/stdio-frontend.c index dfef79f6c..7e3cf9b83 100644 --- a/mdk-stage1/stdio-frontend.c +++ b/mdk-stage1/stdio-frontend.c @@ -46,7 +46,7 @@ void finish_frontend(void) static void get_any_response(void) { unsigned char t; - printf("> Press to proceed."); + printf(" (press to proceed)"); fflush(stdout); read(0, &t, 1); fcntl(0, F_SETFL, O_NONBLOCK); @@ -247,14 +247,40 @@ enum return_type ask_from_list(char *msg, char ** elems, char ** choice) char ** sav_elems = elems; int i, j; - printf("> %s\n(0) Cancel\n", msg); - i = 1; + i = 0; while (elems && *elems) { - printf("(%d) %s\n", i, *elems); i++; elems++; } + if (i < 10) { + printf("> %s\n(0) Cancel\n", msg); + for (j=0; j %s\n( 0) Cancel\n", msg); + if (i < 20) + for (j=0; j= 1 && j < i) { + if (j >= 1 && j <= i) { *choice = strdup(sav_elems[j-1]); return RETURN_OK; } -- cgit v1.2.1