|
@@ -264,21 +264,14 @@ static void process_options(int argc, char *argv[])
|
|
|
}
|
|
|
case OPTION_OBJECT:
|
|
|
{
|
|
|
- QemuOpts *opts;
|
|
|
- const char *type;
|
|
|
QDict *args;
|
|
|
+ bool help;
|
|
|
|
|
|
- /* FIXME The keyval parser rejects 'help' arguments, so we must
|
|
|
- * unconditionall try QemuOpts first. */
|
|
|
- opts = qemu_opts_parse(&qemu_object_opts,
|
|
|
- optarg, true, &error_fatal);
|
|
|
- type = qemu_opt_get(opts, "qom-type");
|
|
|
- if (type && user_creatable_print_help(type, opts)) {
|
|
|
+ args = keyval_parse(optarg, "qom-type", &help, &error_fatal);
|
|
|
+ if (help) {
|
|
|
+ user_creatable_print_help_from_qdict(args);
|
|
|
exit(EXIT_SUCCESS);
|
|
|
}
|
|
|
- qemu_opts_del(opts);
|
|
|
-
|
|
|
- args = keyval_parse(optarg, "qom-type", NULL, &error_fatal);
|
|
|
user_creatable_add_dict(args, true, &error_fatal);
|
|
|
qobject_unref(args);
|
|
|
break;
|