Fix: return of garbage value when trace has no stream classes
[babeltrace.git] / plugins / ctf / common / metadata / visitor-generate-ir.c
index b6d9fc26f058cce7d3cf0ed85e5149ae25488f84..07f4391fcbcb0c2bf8b1e2fbab2490c14be288f5 100644 (file)
@@ -30,6 +30,7 @@
 #include <stdio.h>
 #include <unistd.h>
 #include <string.h>
+#include <stdbool.h>
 #include <stdlib.h>
 #include <ctype.h>
 #include <assert.h>
@@ -3501,7 +3502,7 @@ int visit_event_decl(struct ctx *ctx, struct ctf_node *node)
                event_id);
        if (eevent_class) {
                BT_PUT(eevent_class);
-               _PERROR("%s", "duplicate event with ID %" PRId64 " in same stream");
+               _PERROR("duplicate event with ID %" PRId64 " in same stream", event_id);
                ret = -EEXIST;
                goto error;
        }
@@ -4615,7 +4616,7 @@ end:
 static
 int move_ctx_stream_classes_to_trace(struct ctx *ctx)
 {
-       int ret;
+       int ret = 0;
        GHashTableIter iter;
        gpointer key, stream_class;
 
@@ -4640,7 +4641,7 @@ end:
 
 BT_HIDDEN
 struct ctf_visitor_generate_ir *ctf_visitor_generate_ir_create(FILE *efd,
-               uint64_t clock_class_offset_ns)
+               uint64_t clock_class_offset_ns, const char *name)
 {
        int ret;
        struct ctx *ctx = NULL;
@@ -4652,6 +4653,12 @@ struct ctf_visitor_generate_ir *ctf_visitor_generate_ir_create(FILE *efd,
                goto error;
        }
 
+       ret = bt_ctf_trace_set_name(trace, name);
+       if (ret) {
+               _FPERROR(efd, "cannot set trace's name to `%s`", name);
+               goto error;
+       }
+
        /* Set packet header to NULL to override the default one */
        ret = bt_ctf_trace_set_packet_header_type(trace, NULL);
        if (ret) {
This page took 0.029823 seconds and 4 git commands to generate.