BT_LOGV_STR("Creating character field from string field's character field type.");
character = bt_ctf_field_create(character_type);
- for (i = 0; i < string->payload->len + 1; i++) {
- const uint64_t chr = (uint64_t) string->payload->str[i];
+ for (i = 0; i < string->size + 1; i++) {
+ const uint64_t chr = (uint64_t) ((char *) string->buf->data)[i];
ret = bt_ctf_field_integer_unsigned_set_value(character, chr);
BT_ASSERT(ret == 0);
BT_ASSERT_PRE_NON_NULL(length_field, "Length field");
BT_ASSERT_PRE_FIELD_COMMON_IS_SET((void *) length_field, "Length field");
- BT_ASSERT_PRE(common_length_field->type->id == BT_CTF_FIELD_TYPE_ID_INTEGER ||
- common_length_field->type->id == BT_CTF_FIELD_TYPE_ID_ENUM,
+ BT_ASSERT_PRE(common_length_field->type->id == BT_FIELD_TYPE_ID_INTEGER ||
+ common_length_field->type->id == BT_FIELD_TYPE_ID_ENUM,
"Length field must be an integer or enumeration field: %!+wf",
length_field);
- if (common_length_field->type->id == BT_CTF_FIELD_TYPE_ID_ENUM) {
+ if (common_length_field->type->id == BT_FIELD_TYPE_ID_ENUM) {
struct bt_ctf_field_enumeration *enumeration = (void *)
length_field;
if (integer) {
bt_field_common_initialize(BT_TO_COMMON(integer), (void *) type,
+ true,
(bt_object_release_func) bt_ctf_field_integer_destroy,
&bt_ctf_field_integer_methods);
integer->common.spec.writer.serialize_func =
bt_field_common_initialize(BT_TO_COMMON(enumeration),
(void *) type,
- (bt_object_release_func)
+ true, (bt_object_release_func)
bt_ctf_field_enumeration_destroy_recursive,
&bt_ctf_field_enumeration_methods);
enumeration->container = (void *) bt_ctf_field_create(
if (floating_point) {
bt_field_common_initialize(BT_TO_COMMON(floating_point),
(void *) type,
- (bt_object_release_func)
+ true, (bt_object_release_func)
bt_ctf_field_floating_point_destroy,
&bt_ctf_field_floating_point_methods);
floating_point->common.spec.writer.serialize_func =
iret = bt_field_common_structure_initialize(BT_TO_COMMON(structure),
(void *) type,
- (bt_object_release_func)
+ true, (bt_object_release_func)
bt_ctf_field_structure_destroy_recursive,
&bt_ctf_field_structure_methods,
(bt_field_common_create_func) bt_ctf_field_create,
bt_field_common_variant_initialize(BT_TO_COMMON(BT_TO_COMMON(variant)),
(void *) type,
- (bt_object_release_func)
+ true, (bt_object_release_func)
bt_ctf_field_variant_destroy_recursive,
&bt_ctf_field_variant_methods,
(bt_field_common_create_func) bt_ctf_field_create,
ret = bt_field_common_array_initialize(BT_TO_COMMON(array),
(void *) type,
- (bt_object_release_func)
+ true, (bt_object_release_func)
bt_ctf_field_array_destroy_recursive,
&bt_ctf_field_array_methods,
(bt_field_common_create_func) bt_ctf_field_create,
if (sequence) {
bt_field_common_sequence_initialize(BT_TO_COMMON(sequence),
(void *) type,
- (bt_object_release_func)
+ true, (bt_object_release_func)
bt_ctf_field_sequence_destroy_recursive,
&bt_ctf_field_sequence_methods,
(GDestroyNotify) bt_put);
BT_LOGD("Creating CTF writer string field object: ft-addr=%p", type);
if (string) {
- bt_field_common_initialize(BT_TO_COMMON(string),
+ bt_field_common_string_initialize(BT_TO_COMMON(string),
(void *) type,
- (bt_object_release_func)
+ true, (bt_object_release_func)
bt_ctf_field_string_destroy,
&bt_ctf_field_string_methods);
string->common.spec.writer.serialize_func =