X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fmenu.c;h=c53030f3653d9605062926cb4454b92705757ed6;hb=662282203ac535d98d523700bfdba09664b2225d;hp=64b461abb491b8584d8cfc76087c0c808e8d7ebc;hpb=5644369450635fa5c2967bee55b1ac41f6e988d0;p=u-boot
diff --git a/common/menu.c b/common/menu.c
index 64b461abb4..c53030f365 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -1,21 +1,11 @@
/*
* Copyright 2010-2011 Calxeda, Inc.
*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
+ * SPDX-License-Identifier: GPL-2.0+
*/
#include
+#include
#include
#include
#include
@@ -115,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
@@ -207,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);
}
@@ -359,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