ctf plugin: notif iter: use "borrow" functions for metadata where possible
[babeltrace.git] / plugins / ctf / fs-src / data-stream-file.c
index f06457e8f9ab7f373695a5f735cd7c30edcd5f7f..db266af151dc75f2097f7e6f6c2f3694344d5868 100644 (file)
@@ -36,7 +36,7 @@
 #include "file.h"
 #include "metadata.h"
 #include "../common/notif-iter/notif-iter.h"
-#include <assert.h>
+#include <babeltrace/assert-internal.h>
 #include "data-stream-file.h"
 #include <string.h>
 
@@ -103,7 +103,7 @@ enum bt_notif_iter_medium_status ds_file_mmap_next(
                goto end;
        }
        /* Map new region */
-       assert(ds_file->mmap_len);
+       BT_ASSERT(ds_file->mmap_len);
        ds_file->mmap_addr = bt_mmap((void *) 0, ds_file->mmap_len,
                        PROT_READ, MAP_PRIVATE, fileno(ds_file->file->fp),
                        ds_file->mmap_offset);
@@ -181,9 +181,7 @@ struct bt_stream *medop_get_stream(
        struct bt_stream_class *ds_file_stream_class;
        struct bt_stream *stream = NULL;
 
-       ds_file_stream_class = bt_stream_get_class(ds_file->stream);
-       bt_put(ds_file_stream_class);
-
+       ds_file_stream_class = bt_stream_borrow_class(ds_file->stream);
        if (stream_class != ds_file_stream_class) {
                /*
                 * Not supported: two packets described by two different
@@ -293,29 +291,29 @@ struct ctf_fs_ds_index_entry *ctf_fs_ds_index_add_new_entry(
 }
 
 static
-struct bt_clock_class *get_field_mapped_clock_class(
+struct bt_clock_class *borrow_field_mapped_clock_class(
                struct bt_field *field)
 {
        struct bt_field_type *field_type;
        struct bt_clock_class *clock_class = NULL;
 
-       field_type = bt_field_get_type(field);
+       field_type = bt_field_borrow_type(field);
        if (!field_type) {
                goto end;
        }
 
-       clock_class = bt_field_type_integer_get_mapped_clock_class(
-                       field_type);
+       clock_class = bt_field_type_integer_borrow_mapped_clock_class(
+               field_type);
        if (!clock_class) {
                goto end;
        }
+
 end:
-       bt_put(field_type);
        return clock_class;
 }
 
 static
-int get_packet_bounds_from_packet_context(
+int borrow_packet_bounds_from_packet_context(
                struct bt_field *packet_context,
                struct bt_clock_class **_timestamp_begin_cc,
                struct bt_field **_timestamp_begin,
@@ -328,7 +326,7 @@ int get_packet_bounds_from_packet_context(
        struct bt_field *timestamp_begin = NULL;
        struct bt_field *timestamp_end = NULL;
 
-       timestamp_begin = bt_field_structure_get_field_by_name(
+       timestamp_begin = bt_field_structure_borrow_field_by_name(
                        packet_context, "timestamp_begin");
        if (!timestamp_begin) {
                BT_LOGD_STR("Cannot retrieve timestamp_begin field in packet context.");
@@ -336,12 +334,12 @@ int get_packet_bounds_from_packet_context(
                goto end;
        }
 
-       timestamp_begin_cc = get_field_mapped_clock_class(timestamp_begin);
+       timestamp_begin_cc = borrow_field_mapped_clock_class(timestamp_begin);
        if (!timestamp_begin_cc) {
                BT_LOGD_STR("Cannot retrieve the clock mapped to timestamp_begin.");
        }
 
-       timestamp_end = bt_field_structure_get_field_by_name(
+       timestamp_end = bt_field_structure_borrow_field_by_name(
                        packet_context, "timestamp_end");
        if (!timestamp_end) {
                BT_LOGD_STR("Cannot retrieve timestamp_end field in packet context.");
@@ -349,33 +347,29 @@ int get_packet_bounds_from_packet_context(
                goto end;
        }
 
-       timestamp_end_cc = get_field_mapped_clock_class(timestamp_end);
+       timestamp_end_cc = borrow_field_mapped_clock_class(timestamp_end);
        if (!timestamp_end_cc) {
                BT_LOGD_STR("Cannot retrieve the clock mapped to timestamp_end.");
        }
 
        if (_timestamp_begin_cc) {
-               *_timestamp_begin_cc = bt_get(timestamp_begin_cc);
+               *_timestamp_begin_cc = timestamp_begin_cc;
        }
        if (_timestamp_begin) {
-               *_timestamp_begin = bt_get(timestamp_begin);
+               *_timestamp_begin = timestamp_begin;
        }
        if (_timestamp_end_cc) {
-               *_timestamp_end_cc = bt_get(timestamp_end_cc);
+               *_timestamp_end_cc = timestamp_end_cc;
        }
        if (_timestamp_end) {
-               *_timestamp_end = bt_get(timestamp_end);
+               *_timestamp_end = timestamp_end;
        }
 end:
-       bt_put(timestamp_begin_cc);
-       bt_put(timestamp_end_cc);
-       bt_put(timestamp_begin);
-       bt_put(timestamp_end);
        return ret;
 }
 
 static
-int get_ds_file_packet_bounds_clock_classes(struct ctf_fs_ds_file *ds_file,
+int borrow_ds_file_packet_bounds_clock_classes(struct ctf_fs_ds_file *ds_file,
                struct bt_clock_class **timestamp_begin_cc,
                struct bt_clock_class **timestamp_end_cc)
 {
@@ -390,9 +384,10 @@ int get_ds_file_packet_bounds_clock_classes(struct ctf_fs_ds_file *ds_file,
                goto end;
        }
 
-       ret = get_packet_bounds_from_packet_context(packet_context,
+       ret = borrow_packet_bounds_from_packet_context(packet_context,
                        timestamp_begin_cc, NULL,
                        timestamp_end_cc, NULL);
+
 end:
        bt_put(packet_context);
        return ret;
@@ -405,7 +400,7 @@ int convert_cycles_to_ns(struct bt_clock_class *clock_class,
        int ret = 0;
        struct bt_clock_value *clock_value;
 
-       assert(ns);
+       BT_ASSERT(ns);
        clock_value = bt_clock_value_create(clock_class, cycles);
        if (!clock_value) {
                ret = -1;
@@ -446,7 +441,7 @@ struct ctf_fs_ds_index *build_index_from_idx_file(
        BT_LOGD("Building index from .idx file of stream file %s",
                        ds_file->file->path->str);
 
-       ret = get_ds_file_packet_bounds_clock_classes(ds_file,
+       ret = borrow_ds_file_packet_bounds_clock_classes(ds_file,
                        &timestamp_begin_cc, &timestamp_end_cc);
        if (ret) {
                BT_LOGD_STR("Cannot get clock classes of \"timestamp_begin\" "
@@ -594,8 +589,6 @@ end:
        if (mapped_file) {
                g_mapped_file_unref(mapped_file);
        }
-       bt_put(timestamp_begin_cc);
-       bt_put(timestamp_end_cc);
        return index;
 error:
        ctf_fs_ds_index_destroy(index);
@@ -614,7 +607,7 @@ int init_index_entry(struct ctf_fs_ds_index_entry *entry,
        struct bt_clock_class *timestamp_begin_cc = NULL;
        struct bt_clock_class *timestamp_end_cc = NULL;
 
-       ret = get_packet_bounds_from_packet_context(packet_context,
+       ret = borrow_packet_bounds_from_packet_context(packet_context,
                        &timestamp_begin_cc, &timestamp_begin,
                        &timestamp_end_cc, &timestamp_end);
        if (ret || !timestamp_begin_cc || !timestamp_begin ||
@@ -623,18 +616,18 @@ int init_index_entry(struct ctf_fs_ds_index_entry *entry,
                goto end;
        }
 
-       assert(packet_offset >= 0);
+       BT_ASSERT(packet_offset >= 0);
        entry->offset = packet_offset;
 
-       assert(packet_size >= 0);
+       BT_ASSERT(packet_size >= 0);
        entry->packet_size = packet_size;
 
-       ret = bt_field_unsigned_integer_get_value(timestamp_begin,
+       ret = bt_field_integer_unsigned_get_value(timestamp_begin,
                        &entry->timestamp_begin);
        if (ret) {
                goto end;
        }
-       ret = bt_field_unsigned_integer_get_value(timestamp_end,
+       ret = bt_field_integer_unsigned_get_value(timestamp_end,
                        &entry->timestamp_end);
        if (ret) {
                goto end;
@@ -656,11 +649,8 @@ int init_index_entry(struct ctf_fs_ds_index_entry *entry,
                BT_LOGD_STR("Failed to convert raw timestamp to nanoseconds since Epoch.");
                goto end;
        }
+
 end:
-       bt_put(timestamp_begin);
-       bt_put(timestamp_begin_cc);
-       bt_put(timestamp_end);
-       bt_put(timestamp_end_cc);
        return ret;
 }
 
@@ -888,7 +878,7 @@ int ctf_fs_ds_file_get_packet_header_context_fields(
        enum bt_notif_iter_status notif_iter_status;
        int ret = 0;
 
-       assert(ds_file);
+       BT_ASSERT(ds_file);
        notif_iter_status = bt_notif_iter_get_packet_header_context_fields(
                ds_file->notif_iter, packet_header_field, packet_context_field);
        switch (notif_iter_status) {
This page took 0.025932 seconds and 4 git commands to generate.