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

Peter Harris pharris at opentext.com
Wed Feb 25 15:48:50 PST 2009


Signed-off-by: Peter Harris <pharris at opentext.com>
---
 src/c_client.py |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/c_client.py b/src/c_client.py
index 73bd064..299ad54 100755
--- a/src/c_client.py
+++ b/src/c_client.py
@@ -222,17 +222,15 @@ def c_enum(self, name):
     '''
     _h_setlevel(0)
     _h('')
-    _h('typedef enum %s {', _t(name))
 
-    count = len(self.values)
+    next = -1
 
     for (enam, eval) in self.values:
-        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))
+        if eval == '':
+            next += 1
+        else:
+            next = int(eval)
+        _h('static const uint32_t %s = %d;', _n(name + (enam,)).upper(), next)
 
 def _c_type_setup(self, name, postfix):
     '''
-- 
1.6.1.3


--------------030607020409050300020507--


More information about the Xcb mailing list