2014-02-13 7:31 GMT+08:00 Eric Blake <ebl...@redhat.com>:

> On 02/11/2014 11:33 PM, Chunyan Liu wrote:
> > Add some qemu_opt functions to replace the same functionality of
> > QEMUOptionParameter handling.
> >
> > Signed-off-by: Dong Xu Wang <wdon...@linux.vnet.ibm.com>
> > Signed-off-by: Chunyan Liu <cy...@suse.com>
> > ---
> >  include/qemu/option.h |    9 +++
> >  util/qemu-option.c    |  134
> +++++++++++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 143 insertions(+), 0 deletions(-)
> >
>
> > +static void qemu_opt_del(QemuOpt *opt);
> > +
> > +const char *qemu_opt_get_del(QemuOpts *opts, const char *name)
> > +{
> > +    const char *str = qemu_opt_get(opts, name);
> > +    QemuOpt *opt = qemu_opt_find(opts, name);
> > +    if (opt) {
> > +        qemu_opt_del(opt);
>
> Is it any more efficient to reduce the number of times you crawl through
> the list?  For example, instead of crawling the list with qemu_opt_get,
> why not get teh string directly from the result of qemu_opt_find?  Also,
> you crawl again for qemu_opt_del.  Maybe it's unavoidable, and certainly
> still O(n), so not the end of the world, but worth thinking about.
>

In previous Dong Xu's patch, it's commented that there is too much code
duplication in qemu_opt_get and qemu_opt_get_del, could using qemu_opt_get
directly. Well, I'll improve that. Add "remove" flag to _qemu_opt_get to
handle
delete or not, and then wrapper _qemu_opt_get to generate qemu_opt_get and
qemu_opt_get_del.

> +void qemu_opts_print_help(QemuOptsList *list)
> > +{
> > +    int i;
> > +    printf("Supported options:\n");
>
> Why printf?  Might there be callers that want to print to somewhere
> other than stdout?
>

Just followed print_option_help. Existing print_option_help uses printf.
Could improve of course.

>
> --
> Eric Blake   eblake redhat com    +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
>
>

Reply via email to