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: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH 1/5] qemu-option: add alias support
Date: Wed, 11 Jul 2012 09:00:59 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

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?

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

> 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]