[PATCH 2/2] menu: fix non command management support

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon Apr 23 02:22:40 EDT 2012


the auto select is always available

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
 commands/menu.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/commands/menu.c b/commands/menu.c
index e5ce5a9..8833d74 100644
--- a/commands/menu.c
+++ b/commands/menu.c
@@ -41,14 +41,14 @@ typedef enum {
 struct cmd_menu {
 	char		*menu;
 	menu_action	action;
+	char		*description;
+	int		auto_select;
 #if defined(CONFIG_CMD_MENU_MANAGEMENT)
 	int		entry;
 	int		re_entrant;
-	char		*description;
 	char		*command;
 	char		*submenu;
 	int		num;
-	int		auto_select;
 	menu_entry_type	type;
 	int		box_state;
 #endif
@@ -58,7 +58,7 @@ struct cmd_menu {
 #define OPTS		"m:earlc:d:RsSn:u:A:b:B:"
 #define	is_entry(x)	((x)->entry)
 #else
-#define OPTS		"m:ls"
+#define OPTS		"m:lsA:d:"
 #define	is_entry(x)	(0)
 #endif
 
@@ -334,6 +334,12 @@ static int do_menu(int argc, char *argv[])
 		case 's':
 			cm.action = action_show;
 			break;
+		case 'A':
+			cm.auto_select = simple_strtoul(optarg, NULL, 10);
+			break;
+		case 'd':
+			cm.description = optarg;
+			break;
 #if defined(CONFIG_CMD_MENU_MANAGEMENT)
 		case 'e':
 			cm.entry = 1;
@@ -350,9 +356,6 @@ static int do_menu(int argc, char *argv[])
 		case 'u':
 			cm.submenu = optarg;
 			break;
-		case 'd':
-			cm.description = optarg;
-			break;
 		case 'R':
 			cm.re_entrant = 1;
 			break;
@@ -362,8 +365,6 @@ static int do_menu(int argc, char *argv[])
 		case 'n':
 			cm.num = simple_strtoul(optarg, NULL, 10);
 			break;
-		case 'A':
-			cm.auto_select = simple_strtoul(optarg, NULL, 10);
 		case 'b':
 			cm.type = MENU_ENTRY_BOX;
 			cm.box_state = simple_strtoul(optarg, NULL, 10);
-- 
1.7.9.1




More information about the barebox mailing list