Fix: babeltrace should skip erroneous traces
[babeltrace.git] / converter / babeltrace.c
index fc590ecc50134b10a30ccde0d36c008d1b6aa2b3..904c0150868630c47e60820a4e359635b6bf9588 100644 (file)
@@ -383,10 +383,10 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path,
                                node->fts_accpath, format_str,
                                packet_seek, NULL, NULL);
                        if (trace_id < 0) {
-                               fprintf(stderr, "[error] [Context] opening trace \"%s\" from %s "
+                               fprintf(stderr, "[warning] [Context] opening trace \"%s\" from %s "
                                        "for reading.\n", node->fts_accpath, path);
-                               ret = trace_id;
-                               goto error;
+                               /* Allow to skip erroneous traces. */
+                               continue;
                        }
                        g_array_append_val(trace_ids, trace_id);
                }
@@ -407,7 +407,7 @@ int convert_trace(struct trace_descriptor *td_write,
        struct bt_ctf_iter *iter;
        struct ctf_text_stream_pos *sout;
        struct bt_iter_pos begin_pos;
-       struct ctf_event_definition *ctf_event;
+       struct bt_ctf_event *ctf_event;
        int ret;
 
        sout = container_of(td_write, struct ctf_text_stream_pos,
@@ -420,7 +420,7 @@ int convert_trace(struct trace_descriptor *td_write,
                goto error_iter;
        }
        while ((ctf_event = bt_ctf_iter_read_event(iter))) {
-               ret = sout->parent.event_cb(&sout->parent, ctf_event->stream);
+               ret = sout->parent.event_cb(&sout->parent, ctf_event->parent->stream);
                if (ret) {
                        fprintf(stderr, "[error] Writing event failed.\n");
                        goto end;
This page took 0.023155 seconds and 4 git commands to generate.