Don't use enums in generated C code - use integer constants instead.

Signed-off-by: Peter Harris <pharris@opentext.com>
This commit is contained in:
Peter Harris 2009-02-25 18:48:50 -05:00
parent b08e1535cf
commit 9984b72888

View File

@ -222,17 +222,15 @@ def c_enum(self, name):
''' '''
_h_setlevel(0) _h_setlevel(0)
_h('') _h('')
_h('typedef enum %s {', _t(name))
count = len(self.values) next = -1
for (enam, eval) in self.values: for (enam, eval) in self.values:
count = count - 1 if eval == '':
equals = ' = ' if eval != '' else '' next += 1
comma = ',' if count > 0 else '' else:
_h(' %s%s%s%s', _n(name + (enam,)).upper(), equals, eval, comma) next = int(eval)
_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):
''' '''