[TYPES PARSING] correctly catch unsigned long int, and struct types.
authorAlan Knowles <alan@akbkhome.com>
Sat, 3 Apr 2010 10:46:27 +0000 (18:46 +0800)
committerAlan Knowles <alan@akbkhome.com>
Sat, 3 Apr 2010 10:46:27 +0000 (18:46 +0800)
This correctly solves a few parsing issues, still to solve is char const * (from inotifytools)

giscanner/transformer.py

index 3094a71..a3fcff9 100644 (file)
@@ -350,12 +350,16 @@ class Transformer(object):
             value = 'void'
         elif source_type.type == CTYPE_BASIC_TYPE:
             value = source_type.name
+            if source_type.base_type:
+                value += ' ' + self._create_source_type(source_type.base_type)
         elif source_type.type == CTYPE_TYPEDEF:
             value = source_type.name
         elif source_type.type == CTYPE_ARRAY:
             return self._create_source_type(source_type.base_type)
         elif source_type.type == CTYPE_POINTER:
             value = self._create_source_type(source_type.base_type) + '*'
+        elif source_type.type == CTYPE_STRUCT:
+            value = source_type.name
         else:
             value = 'any'
         return value