Fix error checking in bt_context_add_traces_recursive
[babeltrace.git] / converter / babeltrace.c
index 5bcfc2a745c68c59e49d597b4bca2517fbc36b1a..aadeb441cf18ed81fa4a43b14d77e8d27389af72 100644 (file)
@@ -25,6 +25,9 @@
 #include <babeltrace/context.h>
 #include <babeltrace/ctf/types.h>
 #include <babeltrace/ctf/events.h>
+/* TODO: fix object model for format-agnostic callbacks */
+#include <babeltrace/ctf/events-internal.h>
+#include <babeltrace/ctf/iterator.h>
 #include <babeltrace/ctf-text/types.h>
 #include <babeltrace/iterator.h>
 #include <popt.h>
@@ -324,7 +327,7 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path,
        GArray *trace_ids;
        char lpath[PATH_MAX];
        char * const paths[2] = { lpath, NULL };
-       int ret;
+       int ret = -1;
 
        /*
         * Need to copy path, because fts_open can change it.
@@ -378,7 +381,7 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path,
 
                        trace_id = bt_context_add_trace(ctx,
                                node->fts_accpath, format_str,
-                               packet_seek);
+                               packet_seek, NULL, NULL);
                        if (trace_id < 0) {
                                fprintf(stderr, "[error] [Context] opening trace \"%s\" from %s "
                                        "for reading.\n", node->fts_accpath, path);
@@ -390,7 +393,7 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path,
        }
 
        g_array_free(trace_ids, TRUE);
-       return 0;
+       return ret;
 
 error:
        return ret;
@@ -401,7 +404,7 @@ error:
 int convert_trace(struct trace_descriptor *td_write,
                  struct bt_context *ctx)
 {
-       struct bt_iter *iter;
+       struct bt_ctf_iter *iter;
        struct ctf_text_stream_pos *sout;
        struct bt_iter_pos begin_pos;
        struct bt_ctf_event *ctf_event;
@@ -411,25 +414,25 @@ int convert_trace(struct trace_descriptor *td_write,
                        trace_descriptor);
 
        begin_pos.type = BT_SEEK_BEGIN;
-       iter = bt_iter_create(ctx, &begin_pos, NULL);
+       iter = bt_ctf_iter_create(ctx, &begin_pos, NULL);
        if (!iter) {
                ret = -1;
                goto error_iter;
        }
-       while ((ctf_event = bt_iter_read_ctf_event(iter))) {
+       while ((ctf_event = bt_ctf_iter_read_event(iter))) {
                ret = sout->parent.event_cb(&sout->parent, ctf_event->stream);
                if (ret) {
                        fprintf(stderr, "[error] Writing event failed.\n");
                        goto end;
                }
-               ret = bt_iter_next(iter);
+               ret = bt_iter_next(bt_ctf_get_iter(iter));
                if (ret < 0)
                        goto end;
        }
        ret = 0;
 
 end:
-       bt_iter_destroy(iter);
+       bt_ctf_iter_destroy(iter);
 error_iter:
        return ret;
 }
This page took 0.023918 seconds and 4 git commands to generate.