From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42667) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SogS2-0002v6-CS for qemu-devel@nongnu.org; Tue, 10 Jul 2012 15:50:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SogS0-0001yv-OF for qemu-devel@nongnu.org; Tue, 10 Jul 2012 15:50:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45602) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SogS0-0001y9-3c for qemu-devel@nongnu.org; Tue, 10 Jul 2012 15:50:24 -0400 From: Luiz Capitulino Date: Tue, 10 Jul 2012 16:50:27 -0300 Message-Id: <1341949831-13547-2-git-send-email-lcapitulino@redhat.com> In-Reply-To: <1341949831-13547-1-git-send-email-lcapitulino@redhat.com> References: <1341949831-13547-1-git-send-email-lcapitulino@redhat.com> Subject: [Qemu-devel] [PATCH 1/5] qemu-option: add alias support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: jan.kiszka@siemens.com, aliguori@us.ibm.com, afaerber@suse.de 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); 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; -- 1.7.11.1.116.g8228a23