Parse array length= to ensure it doesn't get lost from --inject
authorColin Walters <walters@src.gnome.org>
Sun, 19 Oct 2008 05:54:24 +0000 (05:54 +0000)
committerColin Walters <walters@src.gnome.org>
Sun, 19 Oct 2008 05:54:24 +0000 (05:54 +0000)
svn path=/trunk/; revision=752

ChangeLog
giscanner/girparser.py

index 74d577f..288b4fc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-10-19  Colin Walters  <walters@verbum.org>
+
+       * giscanner/girparser.py: Parse array length=.
+
 2008-10-17  Colin Walters  <walters@verbum.org>
 
        Bug 556795 - char ** regression
index 0a9e579..c13b217 100644 (file)
@@ -220,8 +220,12 @@ class GIRParser(object):
                         typenode.attrib.get(_cns('type')))
         typenode = node.find(_corens('array'))
         if typenode is not None:
-            return Array(typenode.attrib.get(_cns('type')),
-                         self._parse_type(typenode))
+            ret = Array(typenode.attrib.get(_cns('type')),
+                        self._parse_type(typenode))
+            lenidx = typenode.attrib.get('length')
+            if lenidx:
+                ret.length_param_index = int(lenidx)
+            return ret
         typenode = node.find(_corens('varargs'))
         if typenode is not None:
             return Varargs()