summaryrefslogtreecommitdiff
path: root/giscanner
diff options
context:
space:
mode:
authorColin Walters <walters@src.gnome.org>2008-10-19 05:54:24 +0000
committerColin Walters <walters@src.gnome.org>2008-10-19 05:54:24 +0000
commit0c671098f97dabddd9eb937d8e3e202b9b37d6a7 (patch)
tree374be3ca77abe77ca8e6b1e6b8f82835bc5aa80e /giscanner
parente9caa32b04c243b8c5bb01a15240f2b0dfc3c4e8 (diff)
downloadgobject-introspection-0c671098f97dabddd9eb937d8e3e202b9b37d6a7.tar.gz
Parse array length= to ensure it doesn't get lost from --inject
svn path=/trunk/; revision=752
Diffstat (limited to 'giscanner')
-rw-r--r--giscanner/girparser.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/giscanner/girparser.py b/giscanner/girparser.py
index 0a9e5793..c13b2174 100644
--- a/giscanner/girparser.py
+++ b/giscanner/girparser.py
@@ -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()