aboutsummaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-06-29 23:26:08 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-06-29 23:26:08 +0000
commit15f8220829f9a3e8911c81d1cdf662769987e37f (patch)
tree01efe717b7805eb4c3d7e194d4feece2b65efa43 /vl.c
parent5a84a5dd0b6b7009cdf3d95523579addb00b66c8 (diff)
Sanitize exit codes of help queries, this time for real.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3034 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'vl.c')
-rw-r--r--vl.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/vl.c b/vl.c
index 778d159c00..78c8babc61 100644
--- a/vl.c
+++ b/vl.c
@@ -6570,7 +6570,7 @@ int main_loop(void)
return ret;
}
-static void help(const char *optarg)
+static void help(int exitcode)
{
printf("QEMU PC emulator version " QEMU_VERSION ", Copyright (c) 2003-2007 Fabrice Bellard\n"
"usage: %s [options] [disk_image]\n"
@@ -6712,7 +6712,7 @@ static void help(const char *optarg)
#endif
DEFAULT_GDBSTUB_PORT,
"/tmp/qemu.log");
- exit(strcmp(optarg, "?"));
+ exit(exitcode);
}
#define HAS_ARG 0x0001
@@ -7283,12 +7283,12 @@ int main(int argc, char **argv)
m->name, m->desc,
m == first_machine ? " (default)" : "");
}
- exit(1);
+ exit(*optarg != '?');
}
break;
case QEMU_OPTION_cpu:
/* hw initialization will check this */
- if (optarg[0] == '?') {
+ if (*optarg == '?') {
#if defined(TARGET_PPC)
ppc_cpu_list(stdout, &fprintf);
#elif defined(TARGET_ARM)
@@ -7298,7 +7298,7 @@ int main(int argc, char **argv)
#elif defined(TARGET_SPARC)
sparc_cpu_list(stdout, &fprintf);
#endif
- exit(1);
+ exit(0);
} else {
cpu_model = optarg;
}
@@ -7452,12 +7452,12 @@ int main(int argc, char **argv)
break;
#endif
case QEMU_OPTION_h:
- help(optarg);
+ help(0);
break;
case QEMU_OPTION_m:
ram_size = atoi(optarg) * 1024 * 1024;
if (ram_size <= 0)
- help(optarg);
+ help(1);
if (ram_size > PHYS_RAM_MAX_SIZE) {
fprintf(stderr, "qemu: at most %d MB RAM can be simulated\n",
PHYS_RAM_MAX_SIZE / (1024 * 1024));
@@ -7743,7 +7743,7 @@ int main(int argc, char **argv)
hd_filename[0] == '\0' &&
(cdrom_index >= 0 && hd_filename[cdrom_index] == '\0') &&
fd_filename[0] == '\0')
- help("");
+ help(1);
/* boot to floppy or the default cd if no hard disk defined yet */
if (hd_filename[0] == '\0' && boot_device == 'c') {