aboutsummaryrefslogtreecommitdiffstats
path: root/com32/menu
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2012-10-09 13:45:00 +0100
committerMatt Fleming <matt.fleming@intel.com>2012-10-09 14:06:19 +0100
commitb0d5575ded49de084d1abdef3ab66b4c05d9bca9 (patch)
tree6bb8da772937c754efb857be3e80dd37eff1f153 /com32/menu
parentc823574f53c1729790a5d38d02204118389cddf6 (diff)
downloadsyslinux-b0d5575ded49de084d1abdef3ab66b4c05d9bca9.tar.gz
syslinux-b0d5575ded49de084d1abdef3ab66b4c05d9bca9.tar.xz
syslinux-b0d5575ded49de084d1abdef3ab66b4c05d9bca9.zip
menu: Add MENU GOTO support to the MENU DEFAULT parsing code
Tomas reported that the 'test1' submenu in the following config file snippet doesn't honour the MENU DEFAULT directive, MENU BEGIN test0 MENU START LABEL - MENU DEFAULT MENU LABEL OptionA MENU GOTO test1 MENU END MENU BEGIN test1 LABEL - MENU LABEL OptionA1 MENU GOTO test0 LABEL - MENU DEFAULT MENU LABEL OptionB1 MENU GOTO test0 MENU END The reason is that the menu config code doesn't know how to handle a default item that is a MENU GOTO directive. A trivial addition to the code in record() fixes this. Reported-by: Tomas M <tomas@slax.org> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'com32/menu')
-rw-r--r--com32/menu/readconfig.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/com32/menu/readconfig.c b/com32/menu/readconfig.c
index 0ac2564a..431017f6 100644
--- a/com32/menu/readconfig.c
+++ b/com32/menu/readconfig.c
@@ -392,7 +392,9 @@ static void record(struct menu *m, struct labeldata *ld, const char *append)
break;
}
- if (ld->menudefault && me->action == MA_CMD)
+ if (ld->menudefault && (me->action == MA_CMD ||
+ me->action == MA_GOTO ||
+ me->action == MA_GOTO_UNRES))
m->defentry = m->nentries - 1;
}