On Tue, Mar 04, 2014 at 03:00:35PM +0100, Paolo Bonzini wrote: > Reviewed-by: Laszlo Ersek <ler...@redhat.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > include/qemu/config-file.h | 2 ++ > util/qemu-config.c | 14 ++++++++++++++ > vl.c | 11 +---------- > 3 files changed, 17 insertions(+), 10 deletions(-) > > diff --git a/include/qemu/config-file.h b/include/qemu/config-file.h > index dbd97c4..d4ba20e 100644 > --- a/include/qemu/config-file.h > +++ b/include/qemu/config-file.h > @@ -8,6 +8,8 @@ > > QemuOptsList *qemu_find_opts(const char *group); > QemuOptsList *qemu_find_opts_err(const char *group, Error **errp); > +QemuOpts *qemu_find_opts_singleton(const char *group); > + > void qemu_add_opts(QemuOptsList *list); > void qemu_add_drive_opts(QemuOptsList *list); > int qemu_set_option(const char *str); > diff --git a/util/qemu-config.c b/util/qemu-config.c > index f610101..60051df 100644 > --- a/util/qemu-config.c > +++ b/util/qemu-config.c > @@ -39,6 +39,20 @@ QemuOptsList *qemu_find_opts(const char *group) > return ret; > } > > +QemuOpts *qemu_find_opts_singleton(const char *group) > +{ > + QemuOptsList *list; > + QemuOpts *opts; > + > + list = qemu_find_opts(group); > + assert(list); > + opts = qemu_opts_find(list, NULL); > + if (!opts) { > + opts = qemu_opts_create(list, NULL, 0, &error_abort); > + } > + return opts; > +} > + > static CommandLineParameterInfoList *query_option_descs(const QemuOptDesc > *desc) > { > CommandLineParameterInfoList *param_list = NULL, *entry; > diff --git a/vl.c b/vl.c > index 899b63f..dafe6f6 100644 > --- a/vl.c > +++ b/vl.c > @@ -485,16 +485,7 @@ static QemuOptsList qemu_msg_opts = { > */ > QemuOpts *qemu_get_machine_opts(void) > { > - QemuOptsList *list; > - QemuOpts *opts; > - > - list = qemu_find_opts("machine"); > - assert(list); > - opts = qemu_opts_find(list, NULL); > - if (!opts) { > - opts = qemu_opts_create(list, NULL, 0, &error_abort); > - } > - return opts; > + return qemu_find_opts_singleton("machine"); > } > > const char *qemu_get_vm_name(void) > -- > 1.8.5.3 >
This patch itself has no problem, so: Reviewed-by: Hu Tao <hu...@cn.fujitsu.com> BTW, why not let qemu_opt_find() return NULL for a NULL QemuOpts? Then we can avoid creating an empty QemuOpts.