diff options
author | Markus Armbruster <armbru@redhat.com> | 2010-01-29 19:48:57 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-02-03 12:39:01 -0600 |
commit | ff952ba25deb927fea0b30b8a74e0059a47c1ef1 (patch) | |
tree | 3920f203e387d4911f1d83345bda8efb70918535 /vl.c | |
parent | 4a2594ddd35de7ae7c8cd9c6828cfe72245e6dc5 (diff) |
qdev: Fix exit code for -device ?
Help was shoehorned into device creation, qdev_device_add(). Since
help doesn't create a device, it returns NULL, which looks to callers
just like failed device creation. Monitor handler do_device_add()
doesn't care, but main() exits unsuccessfully.
Move help out of device creation, into new qdev_device_help().
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -4459,6 +4459,11 @@ char *qemu_find_file(int type, const char *name) return buf; } +static int device_help_func(QemuOpts *opts, void *opaque) +{ + return qdev_device_help(opts); +} + static int device_init_func(QemuOpts *opts, void *opaque) { DeviceState *dev; @@ -5828,6 +5833,9 @@ int main(int argc, char **argv, char **envp) module_call_init(MODULE_INIT_DEVICE); + if (qemu_opts_foreach(&qemu_device_opts, device_help_func, NULL, 0) != 0) + exit(0); + if (watchdog) { i = select_watchdog(watchdog); if (i > 0) |