[vala] glib-2.0: add non-null support for string.joinv



commit cb21a2c03ee2d5542d2b630e378745522b33da33
Author: Evan Nemerson <evan nemerson com>
Date:   Sat May 3 20:28:46 2014 -0700

    glib-2.0: add non-null support for string.joinv
    
    Updated patch after fixing accessing .length of arrays
    in the non-nullable semantics
    
    Fixes bug 728656

 vapi/glib-2.0.vapi |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi
index f30dcba..dbb92fb 100644
--- a/vapi/glib-2.0.vapi
+++ b/vapi/glib-2.0.vapi
@@ -960,7 +960,7 @@ public class string {
        [CCode (cname = "g_stpcpy")]
        private static void* copy_to_buffer (void* dest, string src);
        [CCode (cname = "_vala_g_strjoinv")]
-       public static string joinv (string? separator, string[]? str_array) {
+       public static string joinv (string? separator, string?[]? str_array) {
                if (separator == null) {
                        separator = "";
                }
@@ -968,19 +968,19 @@ public class string {
                        int i;
                        size_t len = 1;
                        for (i = 0 ; (str_array.length != -1 && i < str_array.length) || (str_array.length == 
-1 && str_array[i] != null) ; i++) {
-                               len += (str_array[i] != null) ? str_array[i].length : 0;
+                               len += (str_array[i] != null) ? ((!) str_array[i]).length : 0;
                        }
                        if (i == 0) {
                                return "";
                        }
                        str_array.length = i;
-                       len += separator.length * (i - 1);
+                       len += ((!) separator).length * (i - 1);
 
                        string* res = GLib.malloc (len);
-                       void* ptr = string.copy_to_buffer ((void*) res, str_array[0]);
+                       void* ptr = string.copy_to_buffer ((void*) res, (!) str_array[0]);
                        for (i = 1 ; i < str_array.length ; i++) {
-                               ptr = string.copy_to_buffer (ptr, separator);
-                               ptr = string.copy_to_buffer (ptr, str_array[i] ?? "");
+                               ptr = string.copy_to_buffer (ptr, (!) separator);
+                               ptr = string.copy_to_buffer (ptr, (str_array[i] != null) ? ((!) str_array[i]) 
: "");
                        }
 
                        return (owned) res;


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