aboutsummaryrefslogtreecommitdiff
path: root/common/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/menu.c')
-rw-r--r--common/menu.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/common/menu.c b/common/menu.c
index a245c5a9c6..bafc8470d7 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -425,9 +425,9 @@ int menu_destroy(struct menu *m)
return 1;
}
-void bootmenu_autoboot_loop(struct bootmenu_data *menu,
- enum bootmenu_key *key, int *esc)
+enum bootmenu_key bootmenu_autoboot_loop(struct bootmenu_data *menu, int *esc)
{
+ enum bootmenu_key key = BKEY_NONE;
int i, c;
while (menu->delay > 0) {
@@ -446,16 +446,16 @@ void bootmenu_autoboot_loop(struct bootmenu_data *menu,
switch (c) {
case '\e':
*esc = 1;
- *key = BKEY_NONE;
+ key = BKEY_NONE;
break;
case '\r':
- *key = BKEY_SELECT;
+ key = BKEY_SELECT;
break;
case 0x3: /* ^C */
- *key = BKEY_QUIT;
+ key = BKEY_QUIT;
break;
default:
- *key = BKEY_NONE;
+ key = BKEY_NONE;
break;
}
@@ -471,7 +471,9 @@ void bootmenu_autoboot_loop(struct bootmenu_data *menu,
printf(ANSI_CURSOR_POSITION ANSI_CLEAR_LINE, menu->count + 5, 1);
if (menu->delay == 0)
- *key = BKEY_SELECT;
+ key = BKEY_SELECT;
+
+ return key;
}
void bootmenu_loop(struct bootmenu_data *menu,