Fix: bt2: adjust reference counting of value objects
[babeltrace.git] / src / plugins / ctf / fs-src / fs.c
index 84dae6a1b107b88582af9ddbe2a4af0126f2c8d4..fb5fa1c545f92accd8c1e0c422bacc178107043b 100644 (file)
@@ -32,7 +32,7 @@
 
 #include "common/common.h"
 #include <babeltrace2/babeltrace.h>
-#include "compat/uuid.h"
+#include "common/uuid.h"
 #include <glib.h>
 #include "common/assert.h"
 #include <inttypes.h>
@@ -42,6 +42,7 @@
 #include "data-stream-file.h"
 #include "file.h"
 #include "../common/metadata/decoder.h"
+#include "../common/metadata/ctf-meta-configure-ir-trace.h"
 #include "../common/msg-iter/msg-iter.h"
 #include "query.h"
 
@@ -426,9 +427,9 @@ gchar *ctf_fs_make_port_name(struct ctf_fs_ds_file_group *ds_file_group)
 
        /* For the trace, use the uuid if present, else the path. */
        if (ds_file_group->ctf_fs_trace->metadata->tc->is_uuid_set) {
-               char uuid_str[BABELTRACE_UUID_STR_LEN];
+               char uuid_str[BT_UUID_STR_LEN + 1];
 
-               bt_uuid_unparse(ds_file_group->ctf_fs_trace->metadata->tc->uuid, uuid_str);
+               bt_uuid_to_str(ds_file_group->ctf_fs_trace->metadata->tc->uuid, uuid_str);
                g_string_assign(name, uuid_str);
        } else {
                g_string_assign(name, ds_file_group->ctf_fs_trace->path->str);
@@ -980,7 +981,6 @@ int set_trace_name(bt_trace *trace, const char *name_suffix,
                bt_logging_level log_level, bt_self_component *self_comp)
 {
        int ret = 0;
-       const bt_trace_class *tc = bt_trace_borrow_class_const(trace);
        const bt_value *val;
        GString *name;
 
@@ -995,8 +995,8 @@ int set_trace_name(bt_trace *trace, const char *name_suffix,
         * Check if we have a trace environment string value named `hostname`.
         * If so, use it as the trace name's prefix.
         */
-       val = bt_trace_class_borrow_environment_entry_value_by_name_const(
-               tc, "hostname");
+       val = bt_trace_borrow_environment_entry_value_by_name_const(
+               trace, "hostname");
        if (val && bt_value_is_string(val)) {
                g_string_append(name, bt_value_string_get(val));
 
@@ -1077,6 +1077,12 @@ struct ctf_fs_trace *ctf_fs_trace_create(bt_self_component *self_comp,
        }
 
        if (ctf_fs_trace->trace) {
+               ret = ctf_trace_class_configure_ir_trace(
+                       ctf_fs_trace->metadata->tc, ctf_fs_trace->trace);
+               if (ret) {
+                       goto error;
+               }
+
                ret = set_trace_name(ctf_fs_trace->trace, name, log_level,
                        self_comp);
                if (ret) {
@@ -1574,7 +1580,7 @@ int merge_ctf_fs_traces(struct ctf_fs_trace **traces, unsigned int num_traces)
        struct ctf_fs_trace *winner;
        guint i;
        int ret = 0;
-       char uuid_str[BABELTRACE_UUID_STR_LEN];
+       char uuid_str[BT_UUID_STR_LEN + 1];
 
        BT_ASSERT(num_traces >= 2);
 
@@ -1620,7 +1626,7 @@ int merge_ctf_fs_traces(struct ctf_fs_trace **traces, unsigned int num_traces)
        }
 
        /* Use the string representation of the UUID as the trace name. */
-       bt_uuid_unparse(winner->metadata->tc->uuid, uuid_str);
+       bt_uuid_to_str(winner->metadata->tc->uuid, uuid_str);
        g_string_printf(winner->name, "%s", uuid_str);
 
 end:
This page took 0.024561 seconds and 4 git commands to generate.