struct structure_field *field;
int ret = 0;
- if (!type || index < 0 || !field_name || !field_type ||
- (type->declaration->id != CTF_TYPE_STRUCT)) {
+ if (!type || index < 0 || (type->declaration->id != CTF_TYPE_STRUCT)) {
ret = -1;
goto end;
}
}
field = g_ptr_array_index(structure->fields, index);
- *field_type = field->type;
- bt_ctf_field_type_get(field->type);
- *field_name = g_quark_to_string(field->name);
+ if (field_type) {
+ *field_type = field->type;
+ bt_ctf_field_type_get(field->type);
+ }
+ if (field_name) {
+ *field_name = g_quark_to_string(field->name);
+ }
end:
return ret;
}
&ret_field_type, 0) < 0,
"bt_ctf_event_class_get_field handles a NULL event class correctly");
ok(bt_ctf_event_class_get_field(event_class, NULL,
- &ret_field_type, 0) < 0,
+ &ret_field_type, 0) == 0,
"bt_ctf_event_class_get_field handles a NULL field name correctly");
+ bt_ctf_field_type_put(ret_field_type);
ok(bt_ctf_event_class_get_field(event_class, &ret_string,
- NULL, 0) < 0,
+ NULL, 0) == 0,
"bt_ctf_event_class_get_field handles a NULL field type correctly");
ok(bt_ctf_event_class_get_field(event_class, &ret_string,
&ret_field_type, 42) < 0,
&ret_string, &returned_type, 1) < 0,
"bt_ctf_field_type_structure_get_field handles a NULL type correctly");
ok(bt_ctf_field_type_structure_get_field(structure_seq_type,
- NULL, &returned_type, 1) < 0,
+ NULL, &returned_type, 1) == 0,
"bt_ctf_field_type_structure_get_field handles a NULL name correctly");
+ bt_ctf_field_type_put(returned_type);
ok(bt_ctf_field_type_structure_get_field(structure_seq_type,
- &ret_string, NULL, 1) < 0,
+ &ret_string, NULL, 1) == 0,
"bt_ctf_field_type_structure_get_field handles a NULL return type correctly");
ok(bt_ctf_field_type_structure_get_field(structure_seq_type,
&ret_string, &returned_type, 10) < 0,