[PATCH 1/2] menu: add support to do not display the entry number
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Sun May 27 09:57:12 EDT 2012
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
commands/menu.c | 10 ++++++++--
common/menu.c | 3 ++-
include/menu.h | 2 ++
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/commands/menu.c b/commands/menu.c
index 8833d74..6f74105 100644
--- a/commands/menu.c
+++ b/commands/menu.c
@@ -43,6 +43,7 @@ struct cmd_menu {
menu_action action;
char *description;
int auto_select;
+ int not_display_num;
#if defined(CONFIG_CMD_MENU_MANAGEMENT)
int entry;
int re_entrant;
@@ -55,10 +56,10 @@ struct cmd_menu {
};
#if defined(CONFIG_CMD_MENU_MANAGEMENT)
-#define OPTS "m:earlc:d:RsSn:u:A:b:B:"
+#define OPTS "m:earlNc:d:RsSn:u:A:b:B:"
#define is_entry(x) ((x)->entry)
#else
-#define OPTS "m:lsA:d:"
+#define OPTS "m:lsA:d:N"
#define is_entry(x) (0)
#endif
@@ -233,6 +234,7 @@ static int do_menu_show(struct cmd_menu *cm)
if (!m)
return -EINVAL;
+ m->display_num = !cm->not_display_num;
if (cm->auto_select != -EINVAL) {
menu_set_auto_select(m, cm->auto_select);
@@ -340,6 +342,9 @@ static int do_menu(int argc, char *argv[])
case 'd':
cm.description = optarg;
break;
+ case 'N':
+ cm.not_display_num = 1;
+ break;
#if defined(CONFIG_CMD_MENU_MANAGEMENT)
case 'e':
cm.entry = 1;
@@ -416,6 +421,7 @@ static const __maybe_unused char cmd_menu_help[] =
" -m menu\n"
" -l list\n"
" -s show\n"
+" -N do not display number\n"
#if defined(CONFIG_CMD_MENU_MANAGEMENT)
"Advanced\n"
" -e menu entry\n"
diff --git a/common/menu.c b/common/menu.c
index 070170e..12812a5 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -178,7 +178,8 @@ static void print_menu_entry(struct menu *m, struct menu_entry *me,
process_escape_sequence(me->display, m->display_buffer,
m->display_buffer_size);
- printf(" %d: ", me->num);
+ if (m->display_num)
+ printf(" %d: ", me->num);
if (selected)
puts("\e[7m");
if (IS_ENABLED(CONFIG_SHELL_HUSH))
diff --git a/include/menu.h b/include/menu.h
index 74abcfb..5a7e8ca 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -56,6 +56,8 @@ struct menu {
int auto_select;
char *auto_display;
+ int display_num;
+
struct list_head list;
struct list_head entries;
--
1.7.9.1
More information about the barebox
mailing list