On 9/29/20 12:26 PM, Kevin Wolf wrote: > The command line parser for --object parses the input twice: Once into > QemuOpts just for detecting help options, and then again into a QDict > using the keyval parser for actually creating the object. > > Now that the keyval parser can also detect help options, we can simplify > this and remove the QemuOpts part. > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > --- > storage-daemon/qemu-storage-daemon.c | 15 ++++----------- > 1 file changed, 4 insertions(+), 11 deletions(-) > > diff --git a/storage-daemon/qemu-storage-daemon.c > b/storage-daemon/qemu-storage-daemon.c > index bb9cb740f0..7cbdbf0b23 100644 > --- a/storage-daemon/qemu-storage-daemon.c > +++ b/storage-daemon/qemu-storage-daemon.c > @@ -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. */
And you're fixing a typo by deleting it ;) > - 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); > } Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature