From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:36419) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Soqv9-0001fJ-1u for qemu-devel@nongnu.org; Wed, 11 Jul 2012 03:01:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Soqv2-0004VQ-Dy for qemu-devel@nongnu.org; Wed, 11 Jul 2012 03:01:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44256) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Soqv2-0004V6-5d for qemu-devel@nongnu.org; Wed, 11 Jul 2012 03:01:04 -0400 From: Markus Armbruster References: <1341949831-13547-1-git-send-email-lcapitulino@redhat.com> <1341949831-13547-2-git-send-email-lcapitulino@redhat.com> Date: Wed, 11 Jul 2012 09:00:59 +0200 In-Reply-To: <1341949831-13547-2-git-send-email-lcapitulino@redhat.com> (Luiz Capitulino's message of "Tue, 10 Jul 2012 16:50:27 -0300") Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PATCH 1/5] qemu-option: add alias support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: jan.kiszka@siemens.com, aliguori@us.ibm.com, qemu-devel@nongnu.org, afaerber@suse.de Luiz Capitulino writes: > It allows for specifying an alias for each option name, see next commits > examples. > > Signed-off-by: Luiz Capitulino > --- > 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;