src.ctf.fs: make ctf_fs_ds_group_medops_data_create return a unique_ptr
[babeltrace.git] / src / plugins / ctf / fs-src / data-stream-file.cpp
index c456104c746a7389e04d98effe218433970fa928..73d4751bb150e01c6c2737e2698c0e4fceedbd3e 100644 (file)
@@ -389,18 +389,24 @@ end:
     return;
 }
 
+void ctf_fs_ds_group_medops_data_deleter::operator()(ctf_fs_ds_group_medops_data *data) noexcept
+{
+    ctf_fs_ds_group_medops_data_destroy(data);
+}
+
 enum ctf_msg_iter_medium_status ctf_fs_ds_group_medops_data_create(
     struct ctf_fs_ds_file_group *ds_file_group, bt_self_message_iterator *self_msg_iter,
-    const bt2c::Logger& parentLogger, struct ctf_fs_ds_group_medops_data **out)
+    const bt2c::Logger& parentLogger, ctf_fs_ds_group_medops_data_up& out)
 {
     BT_ASSERT(self_msg_iter);
     BT_ASSERT(ds_file_group);
     BT_ASSERT(ds_file_group->index);
     BT_ASSERT(!ds_file_group->index->entries.empty());
 
-    ctf_fs_ds_group_medops_data *data = new ctf_fs_ds_group_medops_data {parentLogger};
-    data->ds_file_group = ds_file_group;
-    data->self_msg_iter = self_msg_iter;
+    out.reset(new ctf_fs_ds_group_medops_data {parentLogger});
+
+    out->ds_file_group = ds_file_group;
+    out->self_msg_iter = self_msg_iter;
 
     /*
      * No need to prepare the first file.  ctf_msg_iter will call
@@ -408,7 +414,6 @@ enum ctf_msg_iter_medium_status ctf_fs_ds_group_medops_data_create(
      * done then.
      */
 
-    *out = data;
     return CTF_MSG_ITER_MEDIUM_STATUS_OK;
 }
 
This page took 0.023522 seconds and 4 git commands to generate.