[vala/switch-to-gir: 22/24] girparser: Assume arrays without length are null terminated.



commit 3488102a8f2a9924afd5b29ec32dc79f378617ad
Author: Luca Bruno <lucabru src gnome org>
Date:   Sat Nov 20 11:10:31 2010 +0100

    girparser: Assume arrays without length are null terminated.

 vala/valagirparser.vala                |   10 ++++++++--
 vapi/packages/gio-2.0/Gio-2.0.metadata |    2 ++
 2 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index 4558be0..66173d9 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -2158,6 +2158,7 @@ public class Vala.GirParser : CodeVisitor {
 		field.access = SymbolAccessibility.PUBLIC;
 		field.external = true;
 		field.no_array_length = true;
+		field.array_null_terminated = true;
 		if (allow_none == "1") {
 			type.nullable = true;
 		}
@@ -2432,6 +2433,7 @@ public class Vala.GirParser : CodeVisitor {
 					set_array_ccode (info.param, parameters[info.array_length_idx]);
 				} else if (info.param.variable_type is ArrayType) {
 					info.param.no_array_length = true;
+					info.param.array_null_terminated = true;
 				}
 
 				if (info.closure_idx != -1) {
@@ -2458,9 +2460,13 @@ public class Vala.GirParser : CodeVisitor {
 			}
 		} else if (return_type is ArrayType) {
 			if (s is Method) {
-				((Method) s).no_array_length = true;
+				var m = (Method) s;
+				m.no_array_length = true;
+				m.array_null_terminated = true;
 			} else {
-				((Delegate) s).no_array_length = true;
+				var d = (Delegate) s;
+				d.no_array_length = true;
+				d.array_null_terminated = true;
 			}
 		}
 
diff --git a/vapi/packages/gio-2.0/Gio-2.0.metadata b/vapi/packages/gio-2.0/Gio-2.0.metadata
index 95a968a..e3ee3c1 100644
--- a/vapi/packages/gio-2.0/Gio-2.0.metadata
+++ b/vapi/packages/gio-2.0/Gio-2.0.metadata
@@ -18,6 +18,8 @@ AppLaunchContext
 	.get_display.files type_arguments="File"
 	.get_startup_notify_id.files type_arguments="File"
 ApplicationCommandLine.get_platform_data nullable
+DBusAnnotationInfo.annotations array
+DBusArgInfo.annotations array
 
 // Missing GI features
 BufferedInputStream.peek_buffer type="unowned uint8[]" array_length_idx=0



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]