+
+error:
+ for (i--; i >= 0; i--) {
+ struct definition *field;
+
+ field = g_ptr_array_index(array->elems, i);
+ field->declaration->definition_free(field);
+ }
+ (void) g_ptr_array_free(array->elems, TRUE);
+ free_definition_scope(array->scope);
+ declaration_unref(array->p.declaration);
+ g_free(array);
+ return NULL;