~ubuntu-branches/ubuntu/natty/gobject-introspection/natty-201101212212

« back to all changes in this revision

Viewing changes to debian/patches/0001-Preserve-the-c-type-of-array-elements.patch

  • Committer: Ken VanDine
  • Date: 2011-01-21 21:18:00 UTC
  • Revision ID: ken.vandine@canonical.com-20110121211800-ytt1gt0cgd98q1w2
Tags: 0.10.1-1ubuntu2
releasing version 0.10.1-1ubuntu2

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
From 751a9fa80a31c01cd26ff35f0e66f428372ea88b Mon Sep 17 00:00:00 2001
2
 
From: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
3
 
Date: Thu, 20 Jan 2011 16:34:45 +0100
4
 
Subject: [PATCH 1/3] Preserve the c:type of array elements
5
 
 
6
 
So the element type has the correct is_pointer flag
7
 
 
8
 
https://bugzilla.gnome.org/show_bug.cgi?id=638929
9
 
---
10
 
 giscanner/maintransformer.py              |    5 ++-
11
 
 tests/scanner/Annotation-1.0-expected.gir |   14 ++++++------
12
 
 tests/scanner/Foo-1.0-expected.gir        |    4 +-
13
 
 tests/scanner/Regress-1.0-expected.gir    |   34 ++++++++++++++--------------
14
 
 4 files changed, 29 insertions(+), 28 deletions(-)
15
 
 
16
 
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
17
 
index 8ada929..ee94554 100644
18
 
--- a/giscanner/maintransformer.py
19
 
+++ b/giscanner/maintransformer.py
20
 
@@ -325,8 +325,9 @@ usage is void (*_gtk_reserved1)(void);"""
 
1
=== modified file 'giscanner/maintransformer.py'
 
2
--- old/giscanner/maintransformer.py    2011-01-21 21:08:31 +0000
 
3
+++ new/giscanner/maintransformer.py    2011-01-21 21:09:34 +0000
 
4
@@ -325,8 +325,12 @@
21
5
             # We're assuming here that Foo* with an (array) annotation
22
6
             # and no (element-type) means array of Foo
23
7
             element_type_node = node.type.clone()
24
8
-            # Explicitly erase ctype since it's no longer valid
25
9
-            element_type_node.ctype = None
26
 
+            # The element's ctype is the array's dereferenced
27
 
+            if element_type_node.ctype.endswith('*'):
28
 
+                element_type_node.ctype = element_type_node.ctype[:-1]
 
10
+            if hasattr(element_type_node.ctype, "endswith"):
 
11
+                # The element's ctype is the array's dereferenced
 
12
+                if element_type_node.ctype.endswith('*'):
 
13
+                    element_type_node.ctype = element_type_node.ctype[:-1]
 
14
+            else:
 
15
+                element_type_node.ctype = None
29
16
 
30
17
         if isinstance(node.type, ast.Array):
31
18
             array_type = node.type.array_type
32
 
diff --git a/tests/scanner/Annotation-1.0-expected.gir b/tests/scanner/Annotation-1.0-expected.gir
33
 
index e47a4b9..e05e61b 100644
34
 
--- a/tests/scanner/Annotation-1.0-expected.gir
35
 
+++ b/tests/scanner/Annotation-1.0-expected.gir
36
 
@@ -147,7 +147,7 @@ and/or use gtk-doc annotations.  -->
 
19
 
 
20
=== modified file 'tests/scanner/Annotation-1.0-expected.gir'
 
21
--- old/tests/scanner/Annotation-1.0-expected.gir       2011-01-21 21:08:31 +0000
 
22
+++ new/tests/scanner/Annotation-1.0-expected.gir       2011-01-21 21:09:08 +0000
 
23
@@ -147,7 +147,7 @@
37
24
           <parameter name="nums" transfer-ownership="none">
38
25
             <doc xml:whitespace="preserve">Sequence of numbers</doc>
39
26
             <array c:type="int*">
42
29
             </array>
43
30
           </parameter>
44
31
         </parameters>
45
 
@@ -162,7 +162,7 @@ and/or use gtk-doc annotations.  -->
 
32
@@ -162,7 +162,7 @@
46
33
           <parameter name="nums" transfer-ownership="none">
47
34
             <doc xml:whitespace="preserve">Sequence of numbers that are zero-terminated</doc>
48
35
             <array length="1" zero-terminated="0" c:type="int*">
51
38
             </array>
52
39
           </parameter>
53
40
           <parameter name="n_nums" transfer-ownership="none">
54
 
@@ -181,7 +181,7 @@ and/or use gtk-doc annotations.  -->
 
41
@@ -181,7 +181,7 @@
55
42
           <parameter name="nums" transfer-ownership="none">
56
43
             <doc xml:whitespace="preserve">Sequence of numbers that are zero-terminated</doc>
57
44
             <array length="1" c:type="int*">
60
47
             </array>
61
48
           </parameter>
62
49
           <parameter name="n_nums" transfer-ownership="none">
63
 
@@ -378,7 +378,7 @@ each string needs to be freed.</doc>
 
50
@@ -378,7 +378,7 @@
64
51
                      transfer-ownership="full">
65
52
             <doc xml:whitespace="preserve">Argument vector</doc>
66
53
             <array length="0" c:type="char***">
69
56
             </array>
70
57
           </parameter>
71
58
         </parameters>
72
 
@@ -392,7 +392,7 @@ each string needs to be freed.</doc>
 
59
@@ -392,7 +392,7 @@
73
60
           <parameter name="data" transfer-ownership="none">
74
61
             <doc xml:whitespace="preserve">The data</doc>
75
62
             <array length="1" c:type="guchar*">
78
65
             </array>
79
66
           </parameter>
80
67
           <parameter name="length" transfer-ownership="none">
81
 
@@ -687,7 +687,7 @@ detection, and fixing it via annotations.</doc>
 
68
@@ -687,7 +687,7 @@
82
69
                    transfer-ownership="full">
83
70
           <doc xml:whitespace="preserve">The arguments.</doc>
84
71
           <array length="0" c:type="char***">
87
74
           </array>
88
75
         </parameter>
89
76
       </parameters>
90
 
@@ -790,7 +790,7 @@ detection, and fixing it via annotations.</doc>
 
77
@@ -790,7 +790,7 @@
91
78
                    caller-allocates="0"
92
79
                    transfer-ownership="full">
93
80
           <array c:type="char***">
96
83
           </array>
97
84
         </parameter>
98
85
       </parameters>
99
 
diff --git a/tests/scanner/Foo-1.0-expected.gir b/tests/scanner/Foo-1.0-expected.gir
100
 
index e527cad..fa5ee93 100644
101
 
--- a/tests/scanner/Foo-1.0-expected.gir
102
 
+++ b/tests/scanner/Foo-1.0-expected.gir
103
 
@@ -1085,7 +1085,7 @@ exposed to language bindings.</doc>
 
86
 
 
87
=== modified file 'tests/scanner/Foo-1.0-expected.gir'
 
88
--- old/tests/scanner/Foo-1.0-expected.gir      2011-01-21 21:08:31 +0000
 
89
+++ new/tests/scanner/Foo-1.0-expected.gir      2011-01-21 21:09:08 +0000
 
90
@@ -1085,7 +1085,7 @@
104
91
       <parameters>
105
92
         <parameter name="array" transfer-ownership="none">
106
93
           <array c:type="char**">
109
96
           </array>
110
97
         </parameter>
111
98
       </parameters>
112
 
@@ -1098,7 +1098,7 @@ exposed to language bindings.</doc>
 
99
@@ -1098,7 +1098,7 @@
113
100
       <parameters>
114
101
         <parameter name="array" transfer-ownership="none">
115
102
           <array c:type="gchar**">
118
105
           </array>
119
106
         </parameter>
120
107
       </parameters>
121
 
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
122
 
index 3d4e56f..abf46f1 100644
123
 
--- a/tests/scanner/Regress-1.0-expected.gir
124
 
+++ b/tests/scanner/Regress-1.0-expected.gir
125
 
@@ -1069,7 +1069,7 @@ TpAccount::status-changed</doc>
 
108
 
 
109
=== modified file 'tests/scanner/Regress-1.0-expected.gir'
 
110
--- old/tests/scanner/Regress-1.0-expected.gir  2011-01-21 21:08:31 +0000
 
111
+++ new/tests/scanner/Regress-1.0-expected.gir  2011-01-21 21:09:08 +0000
 
112
@@ -1051,7 +1051,7 @@
126
113
         <parameter name="ints" transfer-ownership="none">
127
114
           <doc xml:whitespace="preserve">a list of 5 integers</doc>
128
115
           <array c:type="int*" fixed-size="5">
131
118
           </array>
132
119
         </parameter>
133
120
       </parameters>
134
 
@@ -1086,7 +1086,7 @@ TpAccount::status-changed</doc>
 
121
@@ -1068,7 +1068,7 @@
135
122
                    transfer-ownership="full">
136
123
           <doc xml:whitespace="preserve">a list of 5 integers ranging from 0 to 4</doc>
137
124
           <array c:type="int**" fixed-size="5">
140
127
           </array>
141
128
         </parameter>
142
129
       </parameters>
143
 
@@ -1096,7 +1096,7 @@ TpAccount::status-changed</doc>
 
130
@@ -1078,7 +1078,7 @@
144
131
       <return-value transfer-ownership="full">
145
132
         <doc xml:whitespace="preserve">a list of 5 integers ranging from 0 to 4</doc>
146
133
         <array c:type="int*" fixed-size="5">
149
136
         </array>
150
137
       </return-value>
151
138
     </function>
152
 
@@ -1112,7 +1112,7 @@ TpAccount::status-changed</doc>
 
139
@@ -1094,7 +1094,7 @@
153
140
         <parameter name="ints" transfer-ownership="none">
154
141
           <doc xml:whitespace="preserve">List of ints</doc>
155
142
           <array length="0" c:type="gint16*">
158
145
           </array>
159
146
         </parameter>
160
147
       </parameters>
161
 
@@ -1129,7 +1129,7 @@ TpAccount::status-changed</doc>
 
148
@@ -1111,7 +1111,7 @@
162
149
         <parameter name="ints" transfer-ownership="none">
163
150
           <doc xml:whitespace="preserve">List of ints</doc>
164
151
           <array length="0" c:type="gint32*">
167
154
           </array>
168
155
         </parameter>
169
156
       </parameters>
170
 
@@ -1146,7 +1146,7 @@ TpAccount::status-changed</doc>
 
157
@@ -1128,7 +1128,7 @@
171
158
         <parameter name="ints" transfer-ownership="none">
172
159
           <doc xml:whitespace="preserve">List of ints</doc>
173
160
           <array length="0" c:type="gint64*">
176
163
           </array>
177
164
         </parameter>
178
165
       </parameters>
179
 
@@ -1163,7 +1163,7 @@ TpAccount::status-changed</doc>
 
166
@@ -1145,7 +1145,7 @@
180
167
         <parameter name="ints" transfer-ownership="none">
181
168
           <doc xml:whitespace="preserve">List of ints</doc>
182
169
           <array length="0" c:type="gint8*">
185
172
           </array>
186
173
         </parameter>
187
174
       </parameters>
188
 
@@ -1181,7 +1181,7 @@ TpAccount::status-changed</doc>
 
175
@@ -1163,7 +1163,7 @@
189
176
         <parameter name="types" transfer-ownership="none">
190
177
           <doc xml:whitespace="preserve">List of types</doc>
191
178
           <array length="0" c:type="GType*">
194
181
           </array>
195
182
         </parameter>
196
183
       </parameters>
197
 
@@ -1191,7 +1191,7 @@ TpAccount::status-changed</doc>
 
184
@@ -1173,7 +1173,7 @@
198
185
       <return-value transfer-ownership="full">
199
186
         <doc xml:whitespace="preserve">a new array of integers.</doc>
200
187
         <array length="0" c:type="int*">
203
190
         </array>
204
191
       </return-value>
205
192
       <parameters>
206
 
@@ -1216,7 +1216,7 @@ TpAccount::status-changed</doc>
 
193
@@ -1198,7 +1198,7 @@
207
194
         <parameter name="ints" transfer-ownership="none">
208
195
           <doc xml:whitespace="preserve">List of ints</doc>
209
196
           <array length="0" c:type="int*">
212
199
           </array>
213
200
         </parameter>
214
201
       </parameters>
215
 
@@ -1240,7 +1240,7 @@ TpAccount::status-changed</doc>
 
202
@@ -1222,7 +1222,7 @@
216
203
                    transfer-ownership="full">
217
204
           <doc xml:whitespace="preserve">a list of integers whose items will be increased by 1, except the first that will be dropped</doc>
218
205
           <array length="0" c:type="int**">
221
208
           </array>
222
209
         </parameter>
223
210
       </parameters>
224
 
@@ -1250,7 +1250,7 @@ TpAccount::status-changed</doc>
 
211
@@ -1232,7 +1232,7 @@
225
212
       <return-value transfer-ownership="none">
226
213
         <doc xml:whitespace="preserve">a static array of integers.</doc>
227
214
         <array length="0" c:type="int*">
230
217
         </array>
231
218
       </return-value>
232
219
       <parameters>
233
 
@@ -1271,7 +1271,7 @@ TpAccount::status-changed</doc>
 
220
@@ -1253,7 +1253,7 @@
234
221
       <parameters>
235
222
         <parameter name="arr" transfer-ownership="none" allow-none="1">
236
223
           <array length="1" c:type="int*">
239
226
           </array>
240
227
         </parameter>
241
228
         <parameter name="len" transfer-ownership="none">
242
 
@@ -1292,7 +1292,7 @@ TpAccount::status-changed</doc>
 
229
@@ -1274,7 +1274,7 @@
243
230
                    transfer-ownership="full"
244
231
                    allow-none="1">
245
232
           <array length="1" c:type="int**">
248
235
           </array>
249
236
         </parameter>
250
237
         <parameter name="len"
251
 
@@ -1323,7 +1323,7 @@ TpAccount::status-changed</doc>
 
238
@@ -1305,7 +1305,7 @@
252
239
                    transfer-ownership="full">
253
240
           <doc xml:whitespace="preserve">a list of 5 integers, from 0 to 4 in consecutive order</doc>
254
241
           <array length="0" c:type="int**">
257
244
           </array>
258
245
         </parameter>
259
246
       </parameters>
260
 
@@ -2084,7 +2084,7 @@ call and can be released on return.</doc>
 
247
@@ -2066,7 +2066,7 @@
261
248
       <parameters>
262
249
         <parameter name="arr" transfer-ownership="none">
263
250
           <array c:type="char**">
266
253
           </array>
267
254
         </parameter>
268
255
       </parameters>
269
 
@@ -2127,7 +2127,7 @@ call and can be released on return.</doc>
 
256
@@ -2109,7 +2109,7 @@
270
257
                    caller-allocates="0"
271
258
                    transfer-ownership="container">
272
259
           <array c:type="char***">
275
262
           </array>
276
263
         </parameter>
277
264
       </parameters>
278
 
1.7.2.3
279
265