src.ctf.fs: use ctf_msg_iter_up in add_ds_file_to_ds_file_group
[babeltrace.git] / src / plugins / ctf / fs-src / fs.cpp
index 490de46dbabc24ec9953bd03d1f02ed58b79a40f..6b16533cc5bb7e6e2dc6b3ff579d7ae21700857e 100644 (file)
@@ -41,10 +41,6 @@ static void ctf_fs_msg_iter_data_destroy(struct ctf_fs_msg_iter_data *msg_iter_d
         return;
     }
 
-    if (msg_iter_data->msg_iter) {
-        ctf_msg_iter_destroy(msg_iter_data->msg_iter);
-    }
-
     delete msg_iter_data;
 }
 
@@ -52,9 +48,8 @@ static bt_message_iterator_class_next_method_status
 ctf_fs_iterator_next_one(struct ctf_fs_msg_iter_data *msg_iter_data, const bt_message **out_msg)
 {
     bt_message_iterator_class_next_method_status status;
-    enum ctf_msg_iter_status msg_iter_status;
-
-    msg_iter_status = ctf_msg_iter_get_next_message(msg_iter_data->msg_iter, out_msg);
+    const auto msg_iter_status =
+        ctf_msg_iter_get_next_message(msg_iter_data->msg_iter.get(), out_msg);
 
     switch (msg_iter_status) {
     case CTF_MSG_ITER_STATUS_OK:
@@ -168,7 +163,7 @@ ctf_fs_iterator_seek_beginning(bt_self_message_iterator *it)
 
         BT_ASSERT(msg_iter_data);
 
-        ctf_msg_iter_reset(msg_iter_data->msg_iter);
+        ctf_msg_iter_reset(msg_iter_data->msg_iter.get());
         ctf_fs_ds_group_medops_data_reset(msg_iter_data->msg_iter_medops_data.get());
 
         return BT_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHOD_STATUS_OK;
@@ -232,13 +227,11 @@ ctf_fs_iterator_init(bt_self_message_iterator *self_msg_iter,
             goto error;
         }
 
-        msg_iter_data->msg_iter =
-            ctf_msg_iter_create(
-                msg_iter_data->ds_file_group->ctf_fs_trace->metadata->tc,
-                bt_common_get_page_size(static_cast<int>(msg_iter_data->logger.level())) * 8,
-                ctf_fs_ds_group_medops, msg_iter_data->msg_iter_medops_data.get(), self_msg_iter,
-                msg_iter_data->logger)
-                .release();
+        msg_iter_data->msg_iter = ctf_msg_iter_create(
+            msg_iter_data->ds_file_group->ctf_fs_trace->metadata->tc,
+            bt_common_get_page_size(static_cast<int>(msg_iter_data->logger.level())) * 8,
+            ctf_fs_ds_group_medops, msg_iter_data->msg_iter_medops_data.get(), self_msg_iter,
+            msg_iter_data->logger);
         if (!msg_iter_data->msg_iter) {
             BT_CPPLOGE_APPEND_CAUSE_SPEC(msg_iter_data->logger,
                                          "Cannot create a CTF message iterator.");
@@ -498,7 +491,7 @@ static int add_ds_file_to_ds_file_group(struct ctf_fs_trace *ctf_fs_trace, const
     int ret;
     ctf_fs_ds_file_info::UP ds_file_info;
     ctf_fs_ds_index::UP index;
-    struct ctf_msg_iter *msg_iter = NULL;
+    ctf_msg_iter_up msg_iter;
     struct ctf_stream_class *sc = NULL;
     struct ctf_msg_iter_packet_properties props;
 
@@ -514,18 +507,17 @@ static int add_ds_file_to_ds_file_group(struct ctf_fs_trace *ctf_fs_trace, const
 
     /* Create a temporary iterator to read the ds_file. */
     msg_iter = ctf_msg_iter_create(
-                   ctf_fs_trace->metadata->tc,
-                   bt_common_get_page_size(static_cast<int>(ctf_fs_trace->logger.level())) * 8,
-                   ctf_fs_ds_file_medops, ds_file.get(), nullptr, ctf_fs_trace->logger)
-                   .release();
+        ctf_fs_trace->metadata->tc,
+        bt_common_get_page_size(static_cast<int>(ctf_fs_trace->logger.level())) * 8,
+        ctf_fs_ds_file_medops, ds_file.get(), nullptr, ctf_fs_trace->logger);
     if (!msg_iter) {
         BT_CPPLOGE_STR_SPEC(ctf_fs_trace->logger, "Cannot create a CTF message iterator.");
         goto error;
     }
 
-    ctf_msg_iter_set_dry_run(msg_iter, true);
+    ctf_msg_iter_set_dry_run(msg_iter.get(), true);
 
-    ret = ctf_msg_iter_get_packet_properties(msg_iter, &props);
+    ret = ctf_msg_iter_get_packet_properties(msg_iter.get(), &props);
     if (ret) {
         BT_CPPLOGE_APPEND_CAUSE_SPEC(
             ctf_fs_trace->logger,
@@ -556,7 +548,7 @@ static int add_ds_file_to_ds_file_group(struct ctf_fs_trace *ctf_fs_trace, const
         goto error;
     }
 
-    index = ctf_fs_ds_file_build_index(ds_file.get(), ds_file_info.get(), msg_iter);
+    index = ctf_fs_ds_file_build_index(ds_file.get(), ds_file_info.get(), msg_iter.get());
     if (!index) {
         BT_CPPLOGE_APPEND_CAUSE_SPEC(ctf_fs_trace->logger, "Failed to index CTF stream file \'{}\'",
                                      ds_file->file->path);
@@ -624,10 +616,6 @@ error:
     ret = -1;
 
 end:
-    if (msg_iter) {
-        ctf_msg_iter_destroy(msg_iter);
-    }
-
     return ret;
 }
 
This page took 0.025501 seconds and 4 git commands to generate.