qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/5] qemu-option: add alias support


From: Luiz Capitulino
Subject: Re: [Qemu-devel] [PATCH 1/5] qemu-option: add alias support
Date: Wed, 11 Jul 2012 09:51:45 -0300

On Wed, 11 Jul 2012 09:00:59 +0200
Markus Armbruster <address@hidden> wrote:

> Luiz Capitulino <address@hidden> writes:
> 
> > It allows for specifying an alias for each option name, see next commits
> > examples.
> >
> > Signed-off-by: Luiz Capitulino <address@hidden>
> > ---
> >  qemu-option.c | 9 ++++++++-
> >  qemu-option.h | 1 +
> >  2 files changed, 9 insertions(+), 1 deletion(-)
> >
> > diff --git a/qemu-option.c b/qemu-option.c
> > index bb3886c..59a1f6e 100644
> > --- a/qemu-option.c
> > +++ b/qemu-option.c
> > @@ -616,6 +616,7 @@ static void opt_set(QemuOpts *opts, const char *name, 
> > const char *value,
> >                      bool prepend, Error **errp)
> >  {
> >      QemuOpt *opt;
> > +    const char *optname;
> >      const QemuOptDesc *desc = opts->list->desc;
> >      Error *local_err = NULL;
> >      int i;
> > @@ -624,18 +625,24 @@ static void opt_set(QemuOpts *opts, const char *name, 
> > const char *value,
> >          if (strcmp(desc[i].name, name) == 0) {
> >              break;
> >          }
> > +        if (desc[i].alias && strcmp(desc[i].alias, name) == 0) {
> > +            break;
> > +        }
> >      }
> >      if (desc[i].name == NULL) {
> >          if (i == 0) {
> >              /* empty list -> allow any */;
> > +            optname = name;
> >          } else {
> >              error_set(errp, QERR_INVALID_PARAMETER, name);
> >              return;
> >          }
> > +    } else {
> > +        optname = desc[i].name;
> >      }
> >  
> >      opt = g_malloc0(sizeof(*opt));
> > -    opt->name = g_strdup(name);
> > +    opt->name = g_strdup(optname);
> >      opt->opts = opts;
> >      if (prepend) {
> >          QTAILQ_INSERT_HEAD(&opts->head, opt, next);
> 
> What about qemu_opt_set_bool() and qemu_opts_validate()?  Don't they
> need alias support as well?

Oh, you're right, thanks for catching this.

> By the way, I really dislike qemu_opt_set_bool() duplicating
> qemu_opt_set().  Shame on commit f02b77c9.

Yeah, I'll fix the duplication.

> 
> > diff --git a/qemu-option.h b/qemu-option.h
> > index 951dec3..7106d2f 100644
> > --- a/qemu-option.h
> > +++ b/qemu-option.h
> > @@ -94,6 +94,7 @@ enum QemuOptType {
> >  
> >  typedef struct QemuOptDesc {
> >      const char *name;
> > +    const char *alias;
> >      enum QemuOptType type;
> >      const char *help;
> >  } QemuOptDesc;
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]