X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fmenu.c;h=c53030f3653d9605062926cb4454b92705757ed6;hb=dafd5792a8d91e6d616d7efa53bf336b0a12f12b;hp=ba393adc32cbf1e3c26f1e6dfcc8f247fd43691a;hpb=3be2bdf5dc69b3142c1162a59bc67191c9077567;p=u-boot diff --git a/common/menu.c b/common/menu.c index ba393adc32..c53030f365 100644 --- a/common/menu.c +++ b/common/menu.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include @@ -104,12 +105,9 @@ static inline void *menu_item_destroy(struct menu *m, return NULL; } -void __menu_display_statusline(struct menu *m) +__weak void menu_display_statusline(struct menu *m) { - return; } -void menu_display_statusline(struct menu *m) - __attribute__ ((weak, alias("__menu_display_statusline"))); /* * Display a menu so the user can make a choice of an item. First display its @@ -196,13 +194,17 @@ static inline int menu_interactive_choice(struct menu *m, void **choice) menu_display(m); if (!m->item_choice) { - readret = readline_into_buffer("Enter choice: ", cbuf, - m->timeout / 10); + readret = cli_readline_into_buffer("Enter choice: ", + cbuf, + m->timeout / 10); if (readret >= 0) { choice_item = menu_item_by_key(m, cbuf); if (!choice_item) printf("%s not found\n", cbuf); + } else if (readret == -1) { + printf("\n"); + return -EINTR; } else { return menu_default_choice(m, choice); } @@ -348,7 +350,7 @@ int menu_item_add(struct menu *m, char *item_key, void *item_data) * make it obvious what the key for each entry is. * * item_choice - If not NULL, will be called when asking the user to choose an - * item. Returns a key string corresponding to the choosen item or NULL if + * item. Returns a key string corresponding to the chosen item or NULL if * no item has been selected. * * item_choice_data - Will be passed as the argument to the item_choice function