[U-Boot] [PATCH 3/7] pxe: add support for label menu text

Rob Herring robherring2 at gmail.com
Wed Mar 28 17:51:34 CEST 2012


From: Rob Herring <rob.herring at calxeda.com>

Use a menu string if present, otherwise use the kernel string.

Signed-off-by: Rob Herring <rob.herring at calxeda.com>
---
 common/cmd_pxe.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/common/cmd_pxe.c b/common/cmd_pxe.c
index 25054ba..2497b73 100644
--- a/common/cmd_pxe.c
+++ b/common/cmd_pxe.c
@@ -409,6 +409,7 @@ static int get_relfile_envaddr(char *file_path, char *envaddr_name)
  */
 struct pxe_label {
 	char *name;
+	char *menu;
 	char *kernel;
 	char *append;
 	char *initrd;
@@ -491,17 +492,18 @@ static void label_destroy(struct pxe_label *label)
 static void label_print(void *data)
 {
 	struct pxe_label *label = data;
+	const char *c = label->menu ? label->menu : label->kernel;
 
-	printf("Label: %s\n", label->name);
+	printf("%s:\t%s\n", label->name, c);
 
 	if (label->kernel)
-		printf("\tkernel: %s\n", label->kernel);
+		printf("\t\tkernel: %s\n", label->kernel);
 
 	if (label->append)
-		printf("\tappend: %s\n", label->append);
+		printf("\t\tappend: %s\n", label->append);
 
 	if (label->initrd)
-		printf("\tinitrd: %s\n", label->initrd);
+		printf("\t\tinitrd: %s\n", label->initrd);
 }
 
 /*
@@ -970,6 +972,9 @@ static int parse_label_menu(char **c, struct pxe_menu *cfg,
 			return -ENOMEM;
 
 		break;
+	case T_LABEL:
+		parse_sliteral(c, &label->menu);
+		break;
 	default:
 		printf("Ignoring malformed menu command: %.*s\n",
 				(int)(*c - s), s);
-- 
1.7.5.4



More information about the U-Boot mailing list