return fp;
}
-static ctf_fs_file::UP get_file(const char *trace_path, const bt2c::Logger& logger)
+static ctf_fs_file::UP get_file(const bt2c::CStringView trace_path, const bt2c::Logger& logger)
{
auto file = ctf_fs_file_create(logger);
decoder_config.clkClsCfg = clkClsCfg;
decoder_config.create_trace_class = true;
- const auto file = get_file(ctf_fs_trace->path->str, ctf_fs_trace->logger);
+ const auto file = get_file(ctf_fs_trace->path, ctf_fs_trace->logger);
if (!file) {
BT_CPPLOGE_SPEC(ctf_fs_trace->logger, "Cannot create metadata file object.");
ret = -1;
ctf_fs_trace->metadata->trace_class =
ctf_metadata_decoder_get_ir_trace_class(ctf_fs_trace->metadata->decoder.get());
BT_ASSERT(!self_comp || ctf_fs_trace->metadata->trace_class);
+
ctf_fs_trace->metadata->tc =
ctf_metadata_decoder_borrow_ctf_trace_class(ctf_fs_trace->metadata->decoder.get());
BT_ASSERT(ctf_fs_trace->metadata->tc);
void ctf_fs_metadata_fini(struct ctf_fs_metadata *metadata)
{
- free(metadata->text);
-
- if (metadata->trace_class) {
- BT_TRACE_CLASS_PUT_REF_AND_RESET(metadata->trace_class);
- }
-
metadata->decoder.reset();
}