diff options
author | Steffen Winterfeldt <wfeldt@opensuse.org> | 2010-04-13 17:42:12 +0200 |
---|---|---|
committer | Sebastian Herbszt <herbszt@gmx.de> | 2010-04-24 21:58:21 +0200 |
commit | 13ae3a4519f69e017bcb3f844964e69b033379fe (patch) | |
tree | 66b5c910e17931f170e29b51fb0fb082a550fa44 /com32/gfxboot | |
parent | a297f1fd73947a6eea329357aca2f83deebb95e9 (diff) | |
download | syslinux-13ae3a4519f69e017bcb3f844964e69b033379fe.tar.gz |
gfxboot: handle IPAPPEND
Signed-off-by: Steffen Winterfeldt <wfeldt@opensuse.org>
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
Diffstat (limited to 'com32/gfxboot')
-rw-r--r-- | com32/gfxboot/gfxboot.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/com32/gfxboot/gfxboot.c b/com32/gfxboot/gfxboot.c index c300dcb1..daf00560 100644 --- a/com32/gfxboot/gfxboot.c +++ b/com32/gfxboot/gfxboot.c @@ -709,6 +709,8 @@ void boot(int index) char *arg; menu_t *menu_ptr; int label_len; + unsigned u, ipapp; + const struct syslinux_ipappend_strings *ipappend; for(menu_ptr = menu; menu_ptr; menu_ptr = menu_ptr->next, index--) { if(!index) break; @@ -730,6 +732,16 @@ void boot(int index) arg = skip_spaces(arg); + // handle IPAPPEND + if(menu_ptr->ipappend && (ipapp = atoi(menu_ptr->ipappend))) { + ipappend = syslinux_ipappend_strings(); + for(u = 0; u < ipappend->count; u++) { + if((ipapp & (1 << u)) && ipappend->ptr[u]) { + sprintf(arg + strlen(arg), " %s", ipappend->ptr[u]); + } + } + } + boot_entry(menu_ptr, arg); } |