zero-terminated annotation ignored for byte arrays
Submitted by Mikhail Zabaluev
Link to original bug (#737883)
Description
In cases where it's necessary to avoid the blanket typecasting of byte string pointers as utf8
in introspection, the following annotation is used:
(array zero-terminated=1) (element-type guint8)
It can be seen on parameters of g_spawn_command_line_sync(), and it really should be used in many other places. Unfortunately, gobject-introspection currently eats the zero-terminated flag on arrays of guint8 or gchar, emitting a not-so-useful description of an array type of unknown length. Oddly, zero-terminated is preserved when accompanied with a length parameter, like on g_variant_dup_bytestring().