Revert "Don't use enums in generated C code"
authorPeter Harris <pharris@opentext.com>
Fri, 13 Mar 2009 19:25:30 +0000 (15:25 -0400)
committerPeter Harris <pharris@opentext.com>
Fri, 13 Mar 2009 19:25:30 +0000 (15:25 -0400)
This commit broke xcb/util.

This reverts commit 9984b72888108a038d6b3f7dee374d17e26ef9e2.

Signed-off-by: Peter Harris <pharris@opentext.com>
src/c_client.py

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