From: Simon Marchi Date: Mon, 11 Dec 2023 17:23:19 +0000 (-0500) Subject: src.ctf.fs: make ctf_fs_ds_file_info_create return a unique_ptr X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=2cef6403332c78eedd27af34071f871d2233dad3 src.ctf.fs: make ctf_fs_ds_file_info_create return a unique_ptr Introduce ctf_fs_ds_file_info::UP, make ctf_fs_ds_file_info_create return it. We don't need a custom deleter, because ctf_fs_ds_file_info can simply be deleted. ctf_fs_ds_file_info_destroy will disappear in the next patches. Change-Id: Iae4fdf68035d45762f2606685f712fd12976f008 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/8249 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12287 --- diff --git a/src/plugins/ctf/fs-src/data-stream-file.cpp b/src/plugins/ctf/fs-src/data-stream-file.cpp index c1fcad27..aa27c959 100644 --- a/src/plugins/ctf/fs-src/data-stream-file.cpp +++ b/src/plugins/ctf/fs-src/data-stream-file.cpp @@ -12,6 +12,7 @@ #include "compat/endian.h" /* IWYU pragma: keep */ #include "compat/mman.h" /* IWYU: pragma keep */ +#include "cpp-common/bt2s/make-unique.hpp" #include "cpp-common/vendor/fmt/format.h" #include "../common/src/msg-iter/msg-iter.hpp" @@ -935,9 +936,9 @@ void ctf_fs_ds_file_info_destroy(struct ctf_fs_ds_file_info *ds_file_info) delete ds_file_info; } -struct ctf_fs_ds_file_info *ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns) +ctf_fs_ds_file_info::UP ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns) { - ctf_fs_ds_file_info *ds_file_info = new ctf_fs_ds_file_info; + ctf_fs_ds_file_info::UP ds_file_info = bt2s::make_unique(); ds_file_info->path = path; ds_file_info->begin_ns = begin_ns; diff --git a/src/plugins/ctf/fs-src/data-stream-file.hpp b/src/plugins/ctf/fs-src/data-stream-file.hpp index 6b5c3db7..86cc218b 100644 --- a/src/plugins/ctf/fs-src/data-stream-file.hpp +++ b/src/plugins/ctf/fs-src/data-stream-file.hpp @@ -22,6 +22,8 @@ struct ctf_fs_ds_file_info { + using UP = std::unique_ptr; + std::string path; /* Guaranteed to be set, as opposed to the index. */ @@ -162,7 +164,7 @@ void ctf_fs_ds_index_destroy(struct ctf_fs_ds_index *index); void ctf_fs_ds_file_info_destroy(struct ctf_fs_ds_file_info *ds_file_info); -struct ctf_fs_ds_file_info *ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns); +ctf_fs_ds_file_info::UP ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns); ctf_fs_ds_file_group::UP ctf_fs_ds_file_group_create(struct ctf_fs_trace *ctf_fs_trace, struct ctf_stream_class *sc, diff --git a/src/plugins/ctf/fs-src/fs.cpp b/src/plugins/ctf/fs-src/fs.cpp index 40ef7439..8bc130b1 100644 --- a/src/plugins/ctf/fs-src/fs.cpp +++ b/src/plugins/ctf/fs-src/fs.cpp @@ -601,7 +601,7 @@ static int add_ds_file_to_ds_file_group(struct ctf_fs_trace *ctf_fs_trace, const } } - ds_file_info = ctf_fs_ds_file_info_create(path, begin_ns); + ds_file_info = ctf_fs_ds_file_info_create(path, begin_ns).release(); if (!ds_file_info) { goto error; }