aboutsummaryrefslogtreecommitdiffstats
path: root/com32/mboot/mboot.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-05-11 12:28:28 -0700
committerH. Peter Anvin <hpa@zytor.com>2010-05-11 12:28:28 -0700
commitff13f1a61f86059c2d165c9fb59622dec5ca5f58 (patch)
tree20d7849902b13a569c5faaccf6ee95f6d6feebd4 /com32/mboot/mboot.c
parent8d43bf742fc263177d39a8d408638eed408bc076 (diff)
parent9c2b6b0e10289a6d22792b07257d86d1af2fe005 (diff)
downloadsyslinux-ff13f1a61f86059c2d165c9fb59622dec5ca5f58.tar.gz
syslinux-ff13f1a61f86059c2d165c9fb59622dec5ca5f58.tar.xz
syslinux-ff13f1a61f86059c2d165c9fb59622dec5ca5f58.zip
Merge branch 'master' into pathbased
Diffstat (limited to 'com32/mboot/mboot.c')
-rw-r--r--com32/mboot/mboot.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/com32/mboot/mboot.c b/com32/mboot/mboot.c
index 16579e43..35450e03 100644
--- a/com32/mboot/mboot.c
+++ b/com32/mboot/mboot.c
@@ -36,7 +36,7 @@
struct multiboot_info mbinfo;
struct syslinux_pm_regs regs;
-struct my_options opt;
+struct my_options opt, set;
struct module_data {
void *data;
@@ -161,11 +161,21 @@ int main(int argc, char *argv[])
argv++;
while (*argv) {
- if (!strcmp(*argv, "-solaris"))
- opt.solaris = true;
- else if (!strcmp(*argv, "-aout"))
- opt.aout = true;
- else
+ bool v = true;
+ const char *p = *argv;
+
+ if (!memcmp(p, "-no", 3)) {
+ v = false;
+ p += 3;
+ }
+
+ if (!strcmp(p, "-solaris")) {
+ opt.solaris = v;
+ set.solaris = true;
+ } else if (!strcmp(p, "-aout")) {
+ opt.aout = v;
+ set.aout = true;
+ } else
break;
argv++;
}