Inconsistent c:type's on dynamic arrays
I'm not sure which of these GIR arrays are correct, or which are incorrect. I can't find any documentation on exactly how the array tag should work. I believe this inconsistency happens when the C code uses the [] operator on types. Here are some examples:
g_utf8_validate
takes in a string, and it's tag looks like this:
<array length="1" zero-terminated="0" c:type="gchar*"> <type name="guint8"/> </array>
g_key_file_set_locale_string_list
takes in a list of strings, and its tag looks like this:
<array length="4" zero-terminated="1" c:type="gchar*"> <type name="utf8" c:type="gchar"/> </array>
g_key_file_set_integer_list
takes in an array of integers, and it's tag looks like:
<array length="3" zero-terminated="0" c:type="gint"> <type name="gint" c:type="gint"/> </array>
Which of these is correct and which of these is incorrect?