@@ -1517,20 +1517,26 @@ def gen_enum_lookup(name, values, prefix=None):
ret = mcgen('''
const char *const %(c_name)s_lookup[] = {
+// ### %(prefix)s
''',
+ prefix=camel_to_upper(prefix or name),
c_name=c_name(name))
for value in values:
index = c_enum_const(name, value, prefix)
ret += mcgen('''
[%(index)s] = "%(value)s",
+// @@@ s/(^|[^A-Za-z0-9_])%(index)s($|[^A-Za-z0-9_])/\\1%(new)s\\2/g
''',
+ new=c_name((prefix or name) + '_' + value),
index=index, value=value)
max_index = c_enum_const(name, 'MAX', prefix)
ret += mcgen('''
[%(max_index)s] = NULL,
+// @@@ s/(^|[^A-Za-z0-9_])%(max_index)s($|[^A-Za-z0-9_])/\\1%(new)s\\2/g
};
''',
+ new=c_name((prefix or name) + '_' + 'MAX'),
max_index=max_index)
return ret
Temporary patch, will be reverted right away. Out of laziness, generate it right into the C code, in comments. To generate the sed script, use $ make $ make check $ enum_gen_files='qapi-event.c qapi-types.c qga/qapi-generated/qga-qapi-types.c tests/test-qapi-event.c tests/test-qapi-types.c' $ sed -n 's,// @@@ ,,p' $enum_gen_files >enum-mangle.sed To find the files to patch, use $ enum_mangle_regexp=`sed -n 's,// ### ,,p' $enum_gen_files | tr '\n' '|' | sed 's/|$//'` $ git-grep -El "$enum_mangle_regexp" $srcdir >enum-mangle-files where $srcdir is the root of your source tree. To patch them, use $ xargs sed -ri --file enum-mangle.sed <enum-mangle-files Signed-off-by: Markus Armbruster <armbru@redhat.com> --- scripts/qapi.py | 6 ++++++ 1 file changed, 6 insertions(+)