summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/newt-frontend.c
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2007-04-25 14:31:04 +0000
committerOlivier Blin <oblin@mandriva.com>2007-04-25 14:31:04 +0000
commit0400a495c630d7e09ed84357059c13303c687c38 (patch)
tree4ebaf740b4647a2d00a35d7a0cace776ed55cf41 /mdk-stage1/newt-frontend.c
parent61fa3ec0e7a84008e0bb1b3352b339bf878fc946 (diff)
downloaddrakx-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.c58
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;