summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Gratton <mike@vee.net>2020-06-25 16:56:46 +1000
committerRico Tzschichholz <ricotz@ubuntu.com>2020-06-25 10:20:20 +0200
commit9c1542ce35ce39aecdde00e3a3353f8c4efe7a7f (patch)
tree0b316d634e082598e595c35a2f496a245779eeb9
parent8edd90dd26e3acf652ea4a24e288d7f9a57a5cb4 (diff)
downloadvala-9c1542ce35ce39aecdde00e3a3353f8c4efe7a7f.tar.gz
glib-2.0: data of GLib.Bytes is allowed to be null
Ctors accepting uint8 arrays accept null as 0-sized array and the `get_data` may return null if the size of the buffer is 0. https://developer.gnome.org/glib/stable/glib-Byte-Arrays.html
-rw-r--r--vapi/glib-2.0.vapi15
1 files changed, 8 insertions, 7 deletions
diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi
index 839ceff98..2374928c6 100644
--- a/vapi/glib-2.0.vapi
+++ b/vapi/glib-2.0.vapi
@@ -5318,17 +5318,17 @@ namespace GLib {
[Version (since = "2.32")]
[CCode (cprefix = "g_bytes_", ref_function = "g_bytes_ref", unref_function = "g_bytes_unref", type_id = "G_TYPE_BYTES")]
public class Bytes {
- public Bytes ([CCode (array_length_type = "gsize")] uint8[] data);
- public Bytes.take ([CCode (array_length_type = "gsize")] owned uint8[] data);
- public Bytes.static ([CCode (array_length_type = "gsize")] uint8[] data);
- public Bytes.with_free_func ([CCode (array_length_type = "gsize")] owned uint8[] data, GLib.DestroyNotify? free_func, void* user_data);
+ public Bytes ([CCode (array_length_type = "gsize")] uint8[]? data);
+ public Bytes.take ([CCode (array_length_type = "gsize")] owned uint8[]? data);
+ public Bytes.static ([CCode (array_length_type = "gsize")] uint8[]? data);
+ public Bytes.with_free_func ([CCode (array_length_type = "gsize")] owned uint8[]? data, GLib.DestroyNotify? free_func, void* user_data);
public Bytes.from_bytes (GLib.Bytes bytes, size_t offset, size_t length);
[CCode (cname = "g_bytes_new_with_free_func", simple_generics = true)]
- public static Bytes new_with_owner<T> ([CCode (array_length_type = "gsize")] uint8[] data, [CCode (destroy_notify_pos = 1.9)] owned T? owner = null);
+ public static Bytes new_with_owner<T> ([CCode (array_length_type = "gsize")] uint8[]? data, [CCode (destroy_notify_pos = 1.9)] owned T? owner = null);
[CCode (array_length_type = "gsize")]
- public unowned uint8[] get_data ();
+ public unowned uint8[]? get_data ();
public size_t get_size ();
public uint hash ();
public int compare (GLib.Bytes bytes2);
@@ -5338,7 +5338,8 @@ namespace GLib {
[CCode (cname = "_vala_g_bytes_get")]
public uint8 get (int index) {
- unowned uint8[] data = this.get_data ();
+ assert (index >= 0 && index < (int) this.get_size ());
+ unowned uint8[] data = (!) this.get_data ();
return data[index];
}