[Xcb-commit] src

Peter Harris peterh at kemper.freedesktop.org
Thu Mar 5 14:54:24 PST 2009


 src/c_client.py |   14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

New commits:
commit 9984b72888108a038d6b3f7dee374d17e26ef9e2
Author: Peter Harris <pharris at opentext.com>
Date:   Wed Feb 25 18:48:50 2009 -0500

    Don't use enums in generated C code - use integer constants instead.
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

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):
     '''


More information about the xcb-commit mailing list