X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Ffs-src%2Ffile.cpp;h=d125789e6e6c9ae68424e50a76bb06e034e444eb;hb=5ff12b250802d3e0d527f6a5d4c61f4d15e50294;hp=938c048dee513ce7c56546a8bdfee9465e547b18;hpb=97601f8e13a3a03808944e229c3a6acdd173d1df;p=babeltrace.git diff --git a/src/plugins/ctf/fs-src/file.cpp b/src/plugins/ctf/fs-src/file.cpp index 938c048d..d125789e 100644 --- a/src/plugins/ctf/fs-src/file.cpp +++ b/src/plugins/ctf/fs-src/file.cpp @@ -35,9 +35,15 @@ void ctf_fs_file_destroy(struct ctf_fs_file *file) delete file; } -struct ctf_fs_file *ctf_fs_file_create(const bt2c::Logger& parentLogger) +void ctf_fs_file_deleter::operator()(ctf_fs_file * const file) noexcept { - ctf_fs_file *file = new ctf_fs_file {parentLogger}; + ctf_fs_file_destroy(file); +} + +ctf_fs_file::UP ctf_fs_file_create(const bt2c::Logger& parentLogger) +{ + ctf_fs_file::UP file {new ctf_fs_file {parentLogger}}; + file->path = g_string_new(NULL); if (!file->path) { goto error; @@ -46,8 +52,7 @@ struct ctf_fs_file *ctf_fs_file_create(const bt2c::Logger& parentLogger) goto end; error: - ctf_fs_file_destroy(file); - file = NULL; + file.reset(); end: return file;