summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Harris <pharris@opentext.com>2009-03-13 15:25:30 -0400
committerPeter Harris <pharris@opentext.com>2009-03-13 15:25:30 -0400
commite986d1ee5a126dc38113125075a1e986235ba7c7 (patch)
treedfcb748d99fb98ee20403eb3c6e79a12d033953e
parent9984b72888108a038d6b3f7dee374d17e26ef9e2 (diff)
Revert "Don't use enums in generated C code"
This commit broke xcb/util. This reverts commit 9984b72888108a038d6b3f7dee374d17e26ef9e2. Signed-off-by: Peter Harris <pharris@opentext.com>
-rwxr-xr-xsrc/c_client.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/c_client.py b/src/c_client.py
index 299ad54..73bd064 100755
--- a/src/c_client.py
+++ b/src/c_client.py
@@ -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):
'''