Make length= work
authorColin Walters <walters@src.gnome.org>
Mon, 29 Sep 2008 19:03:40 +0000 (19:03 +0000)
committerColin Walters <walters@src.gnome.org>
Mon, 29 Sep 2008 19:03:40 +0000 (19:03 +0000)
svn path=/trunk/; revision=635

giscanner/transformer.py
tests/scanner/annotation-expected.gir

index 2cdc920..7aa709c 100644 (file)
@@ -366,6 +366,9 @@ class Transformer(object):
                 param.transfer = True
             elif option == 'notransfer':
                 param.transfer = False
+            elif isinstance(ptype, Array) and option.startswith('length'):
+                (_, index) = option.split('=')
+                ptype.length_param_index = int(index)
             elif option == 'allow-none':
                 param.allow_none = True
             else:
index 10b6b65..5b3e228 100644 (file)
           <type name="Object" c:type="AnnotationObject*"/>
         </parameter>
         <parameter name="nums">
-          <type name="int[]" c:type="int*"/>
+          <type name="int[length=2]" c:type="int*"/>
         </parameter>
         <parameter name="n_nums">
           <type name="int" c:type="int"/>