diff options
author | Olivier Blin <oblin@mandriva.com> | 2007-04-25 14:31:04 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.com> | 2007-04-25 14:31:04 +0000 |
commit | 0400a495c630d7e09ed84357059c13303c687c38 (patch) | |
tree | 4ebaf740b4647a2d00a35d7a0cace776ed55cf41 /mdk-stage1/newt-frontend.c | |
parent | 61fa3ec0e7a84008e0bb1b3352b339bf878fc946 (diff) | |
download | drakx-0400a495c630d7e09ed84357059c13303c687c38.tar drakx-0400a495c630d7e09ed84357059c13303c687c38.tar.gz drakx-0400a495c630d7e09ed84357059c13303c687c38.tar.bz2 drakx-0400a495c630d7e09ed84357059c13303c687c38.tar.xz drakx-0400a495c630d7e09ed84357059c13303c687c38.zip |
crappy commit (reverted later)
Diffstat (limited to 'mdk-stage1/newt-frontend.c')
-rw-r--r-- | mdk-stage1/newt-frontend.c | 58 |
1 files changed, 21 insertions, 37 deletions
diff --git a/mdk-stage1/newt-frontend.c b/mdk-stage1/newt-frontend.c index 4bedda82b..731818a0d 100644 --- a/mdk-stage1/newt-frontend.c +++ b/mdk-stage1/newt-frontend.c @@ -172,55 +172,39 @@ void end_progression_raw(void) } -enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice) +enum return_type ask_from_list_index(char *msg, char ** elems, char ** elems_comments, int * answer) { char * items[500]; - int answer = 0, rc; - char ** sav_elems = elems; - int i; + int rc; - i = 0; - while (elems && *elems) { - int j = (*elems_comments) ? strlen(*elems_comments) : 0; - items[i] = malloc(sizeof(char) * (strlen(*elems) + j + 4)); - strcpy(items[i], *elems); - if (*elems_comments) { - strcat(items[i], " ("); - strcat(items[i], *elems_comments); - strcat(items[i], ")"); - } - elems_comments++; - i++; - elems++; + if (elems_comments) { + int i; + + i = 0; + while (elems && *elems) { + int j = (*elems_comments) ? strlen(*elems_comments) : 0; + items[i] = malloc(sizeof(char) * (strlen(*elems) + j + 4)); + strcpy(items[i], *elems); + if (*elems_comments) { + strcat(items[i], " ("); + strcat(items[i], *elems_comments); + strcat(items[i], ")"); + } + elems_comments++; + i++; + elems++; + } + items[i] = NULL; } - items[i] = NULL; - rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, items, &answer, "Ok", "Cancel", NULL); + rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, elems_comments ? items : elems, answer, "Ok", "Cancel", NULL); if (rc == 2) return RETURN_BACK; - *choice = strdup(sav_elems[answer]); - return RETURN_OK; } - -enum return_type ask_from_list(char *msg, char ** elems, char ** choice) -{ - int answer = 0, rc; - - rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, elems, &answer, "Ok", "Cancel", NULL); - - if (rc == 2) - return RETURN_BACK; - - *choice = strdup(elems[answer]); - - return RETURN_OK; -} - - enum return_type ask_yes_no(char *msg) { int rc; |