mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-21 16:38:54 +02:00
Revert "Add support for GArrays: add g_type_info_get_array_type() and properly scan GArray args"
This reverts commit 87291e08b0fd34b62e1ad9811c174108b38311a9.
This commit is contained in:
44
girparser.c
44
girparser.c
@@ -1717,40 +1717,22 @@ start_type (GMarkupParseContext *context,
|
||||
typenode->is_pointer = TRUE;
|
||||
typenode->is_array = TRUE;
|
||||
|
||||
ctype = find_attribute ("c:type", attribute_names, attribute_values);
|
||||
if (g_str_has_prefix (ctype, "GArray")) {
|
||||
typenode->array_type = GI_ARRAY_TYPE_ARRAY;
|
||||
} else if (g_str_has_prefix (ctype, "GByteArray")) {
|
||||
typenode->array_type = GI_ARRAY_TYPE_BYTE_ARRAY;
|
||||
} else if (g_str_has_prefix (ctype, "GPtrArray")) {
|
||||
typenode->array_type = GI_ARRAY_TYPE_PTR_ARRAY;
|
||||
} else {
|
||||
typenode->array_type = GI_ARRAY_TYPE_C;
|
||||
}
|
||||
zero = find_attribute ("zero-terminated", attribute_names, attribute_values);
|
||||
len = find_attribute ("length", attribute_names, attribute_values);
|
||||
size = find_attribute ("fixed-size", attribute_names, attribute_values);
|
||||
|
||||
if (typenode->array_type == GI_ARRAY_TYPE_C) {
|
||||
zero = find_attribute ("zero-terminated", attribute_names, attribute_values);
|
||||
len = find_attribute ("length", attribute_names, attribute_values);
|
||||
size = find_attribute ("fixed-size", attribute_names, attribute_values);
|
||||
typenode->zero_terminated = !(zero && strcmp (zero, "1") != 0);
|
||||
typenode->has_length = len != NULL;
|
||||
typenode->length = typenode->has_length ? atoi (len) : -1;
|
||||
|
||||
typenode->has_length = len != NULL;
|
||||
typenode->length = typenode->has_length ? atoi (len) : -1;
|
||||
typenode->has_size = size != NULL;
|
||||
typenode->size = typenode->has_size ? atoi (size) : -1;
|
||||
|
||||
typenode->has_size = size != NULL;
|
||||
typenode->size = typenode->has_size ? atoi (size) : -1;
|
||||
|
||||
if (zero)
|
||||
typenode->zero_terminated = strcmp(zero, "1") == 0;
|
||||
else
|
||||
/* If neither zero-terminated nor length nor fixed-size is given, assume zero-terminated. */
|
||||
typenode->zero_terminated = !(typenode->has_length || typenode->has_size);
|
||||
} else {
|
||||
typenode->zero_terminated = FALSE;
|
||||
typenode->has_length = FALSE;
|
||||
typenode->length = -1;
|
||||
typenode->has_size = FALSE;
|
||||
typenode->size = -1;
|
||||
}
|
||||
if (zero)
|
||||
typenode->zero_terminated = strcmp(zero, "1") == 0;
|
||||
else
|
||||
/* If neither zero-terminated nor length nor fixed-size is given, assume zero-terminated. */
|
||||
typenode->zero_terminated = !(typenode->has_length || typenode->has_size);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user