Revert "Don't use enums in generated C code"

This commit broke xcb/util.

This reverts commit 9984b72888.

Signed-off-by: Peter Harris <pharris@opentext.com>
This commit is contained in:
Peter Harris 2009-03-13 15:25:30 -04:00
parent 9984b72888
commit e986d1ee5a

View File

@ -222,15 +222,17 @@ def c_enum(self, name):
''' '''
_h_setlevel(0) _h_setlevel(0)
_h('') _h('')
_h('typedef enum %s {', _t(name))
next = -1 count = len(self.values)
for (enam, eval) in self.values: for (enam, eval) in self.values:
if eval == '': count = count - 1
next += 1 equals = ' = ' if eval != '' else ''
else: comma = ',' if count > 0 else ''
next = int(eval) _h(' %s%s%s%s', _n(name + (enam,)).upper(), equals, eval, comma)
_h('static const uint32_t %s = %d;', _n(name + (enam,)).upper(), next)
_h('} %s;', _t(name))
def _c_type_setup(self, name, postfix): def _c_type_setup(self, name, postfix):
''' '''