pxe: add support for label menu text

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

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
master
Rob Herring 12 years ago committed by Wolfgang Denk
parent 1e08522699
commit 7815c4e89f
  1. 13
      common/cmd_pxe.c

@ -409,6 +409,7 @@ static int get_relfile_envaddr(char *file_path, char *envaddr_name)
*/ */
struct pxe_label { struct pxe_label {
char *name; char *name;
char *menu;
char *kernel; char *kernel;
char *append; char *append;
char *initrd; char *initrd;
@ -491,17 +492,18 @@ static void label_destroy(struct pxe_label *label)
static void label_print(void *data) static void label_print(void *data)
{ {
struct pxe_label *label = 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) if (label->kernel)
printf("\tkernel: %s\n", label->kernel); printf("\t\tkernel: %s\n", label->kernel);
if (label->append) if (label->append)
printf("\tappend: %s\n", label->append); printf("\t\tappend: %s\n", label->append);
if (label->initrd) 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; return -ENOMEM;
break; break;
case T_LABEL:
parse_sliteral(c, &label->menu);
break;
default: default:
printf("Ignoring malformed menu command: %.*s\n", printf("Ignoring malformed menu command: %.*s\n",
(int)(*c - s), s); (int)(*c - s), s);

Loading…
Cancel
Save