X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ui%2Fncurses%2Fnc-cui.c;h=3f8995eba809c92b46417e2c70be529dbab2fdc5;hb=a610837ff38f5cc80bcbad465a80ab920e67927d;hp=342b60342ad5adc5b39f540ce89f79e096782240;hpb=488fa97839822949f855de1efa3cf47756b7f72b;p=petitboot diff --git a/ui/ncurses/nc-cui.c b/ui/ncurses/nc-cui.c index 342b603..3f8995e 100644 --- a/ui/ncurses/nc-cui.c +++ b/ui/ncurses/nc-cui.c @@ -109,6 +109,11 @@ static int cui_boot(struct pmenu_item *item) assert(cui->current == &cui->main->scr); pb_log("%s: %s\n", __func__, cod->name); + if (!cod->opt) { + pb_log("%s: missing opt?\n", __func__); + return -1; + } + nc_scr_status_printf(cui->current, "Booting %s...", cod->name); def_prog_mode(); @@ -205,7 +210,14 @@ static int cui_process_key(void *arg) assert(cui->current); ui_timer_disable(&cui->timer); - cui->current->process_key(cui->current); + for (;;) { + int c = getch(); + + if (c == ERR) + break; + + cui->current->process_key(cui->current, c); + } return 0; }