From 419fc510bd0b62de8d4b350b364bbdb0da8a85d5 Mon Sep 17 00:00:00 2001 Message-Id: <419fc510bd0b62de8d4b350b364bbdb0da8a85d5.1374754301.git.minovotn@redhat.com> In-Reply-To: <5d75a8513d08b33975bdf5971871c0c977167cd1.1374754301.git.minovotn@redhat.com> References: <5d75a8513d08b33975bdf5971871c0c977167cd1.1374754301.git.minovotn@redhat.com> From: Gerd Hoffmann Date: Mon, 24 Jun 2013 07:05:13 +0200 Subject: [PATCH 02/65] qapi: generate correct enum names for camel case enums RH-Author: Gerd Hoffmann Message-id: <1372057576-26450-3-git-send-email-kraxel@redhat.com> Patchwork-id: 52117 O-Subject: [RHEL-6.5 qemu-kvm PATCH v2 02/65] qapi: generate correct enum names for camel case enums Bugzilla: 676568 RH-Acked-by: Laszlo Ersek RH-Acked-by: Hans de Goede RH-Acked-by: Luiz Capitulino Signed-off-by: Michal Novotny --- blockdev.c | 10 +++++----- scripts/qapi-types.py | 12 +++++++++++- scripts/qapi-visit.py | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/blockdev.c b/blockdev.c index c3c0651..61bf5e3 100644 --- a/blockdev.c +++ b/blockdev.c @@ -874,7 +874,7 @@ void qmp___com_redhat_drive_mirror(const char *device, const char *target, .has_speed = has_speed, .speed = speed, }; - blockdev_do_action(BLOCKDEV_ACTION_KIND___COM_REDHAT_DRIVE_MIRROR, &mirror, errp); + blockdev_do_action(BLOCKDEV_ACTION_KIND_COM_REDHAT_DRIVE_MIRROR, &mirror, errp); } /* New and old BlockDriverState structs for group snapshots */ @@ -943,7 +943,7 @@ void qmp_transaction(BlockdevActionList *dev_list, Error **errp) full = false; break; - case BLOCKDEV_ACTION_KIND___COM_REDHAT_DRIVE_MIRROR: + case BLOCKDEV_ACTION_KIND_COM_REDHAT_DRIVE_MIRROR: device = dev_info->__com_redhat_drive_mirror->device; if (!dev_info->__com_redhat_drive_mirror->has_mode) { dev_info->__com_redhat_drive_mirror->mode = NEW_IMAGE_MODE_ABSOLUTE_PATHS; @@ -1052,7 +1052,7 @@ void qmp_transaction(BlockdevActionList *dev_list, Error **errp) flags | BDRV_O_NO_BACKING, drv); break; - case BLOCKDEV_ACTION_KIND___COM_REDHAT_DRIVE_MIRROR: + case BLOCKDEV_ACTION_KIND_COM_REDHAT_DRIVE_MIRROR: /* Grab a reference so hotplug does not delete the BlockDriverState * from underneath us. */ @@ -1091,7 +1091,7 @@ void qmp_transaction(BlockdevActionList *dev_list, Error **errp) NULL); break; - case BLOCKDEV_ACTION_KIND___COM_REDHAT_DRIVE_MIRROR: + case BLOCKDEV_ACTION_KIND_COM_REDHAT_DRIVE_MIRROR: mirror_commit(states->old_bs); break; @@ -1116,7 +1116,7 @@ delete_and_fail: } break; - case BLOCKDEV_ACTION_KIND___COM_REDHAT_DRIVE_MIRROR: + case BLOCKDEV_ACTION_KIND_COM_REDHAT_DRIVE_MIRROR: /* This will still invoke the callback and release the * reference. */ if (states->new_bs) { diff --git a/scripts/qapi-types.py b/scripts/qapi-types.py index 4a734f5..d1b59a0 100644 --- a/scripts/qapi-types.py +++ b/scripts/qapi-types.py @@ -79,6 +79,16 @@ const char *%(name)s_lookup[] = { ''') return ret +def generate_enum_name(name): + if name.isupper(): + return c_fun(name) + new_name = '' + for c in c_fun(name): + if c.isupper(): + new_name += '_' + new_name += c + return new_name.lstrip('_').upper() + def generate_enum(name, values): lookup_decl = mcgen(''' extern const char *%(name)s_lookup[]; @@ -100,7 +110,7 @@ typedef enum %(name)s %(abbrev)s_%(value)s = %(i)d, ''', abbrev=de_camel_case(name).upper(), - value=c_fun(value).upper(), + value=generate_enum_name(value), i=i) i += 1 diff --git a/scripts/qapi-visit.py b/scripts/qapi-visit.py index 04ef7c4..7a5a4c3 100644 --- a/scripts/qapi-visit.py +++ b/scripts/qapi-visit.py @@ -173,7 +173,7 @@ void visit_type_%(name)s(Visitor *m, %(name)s ** obj, const char *name, Error ** break; ''', abbrev = de_camel_case(name).upper(), - enum = c_fun(de_camel_case(key)).upper(), + enum = c_fun(de_camel_case(key)).upper().lstrip('_'), c_type=members[key], c_name=c_fun(key)) -- 1.7.11.7