提交 f01f594b 编写于 作者: L Luiz Capitulino

qapi: generate correct enum names for camel case enums

An enum like GenericError in the schema, should generate
GENERIC_ERROR and not GENERICERROR.
Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
上级 b68a8472
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册