X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=lib%2Fcallbacks.c;h=fa212c9191e95fc5f5371201bf7883d22d9df05e;hp=b3856cebc7b2449068293639715acc1b473d0bc9;hb=613f532b047a23c6916e2c08707b09296edbfcb2;hpb=3394d22e104e2f6511b656773ef4e74506842f3e diff --git a/lib/callbacks.c b/lib/callbacks.c index b3856ceb..fa212c91 100644 --- a/lib/callbacks.c +++ b/lib/callbacks.c @@ -22,8 +22,10 @@ #include #include #include +#include #include #include +#include #include static @@ -57,11 +59,11 @@ struct bt_dependencies *babeltrace_dependencies_create(const char *first, ...) } /* - * babeltrace_iter_add_callback: Add a callback to iterator. + * bt_iter_add_callback: Add a callback to iterator. */ -int babeltrace_iter_add_callback(struct babeltrace_iter *iter, - bt_event_name event, void *private_data, int flags, - enum bt_cb_ret (*callback)(struct bt_ctf_data *ctf_data, +int bt_iter_add_callback(struct bt_iter *iter, + bt_intern_str event, void *private_data, int flags, + enum bt_cb_ret (*callback)(struct bt_ctf_event *ctf_data, void *private_data), struct bt_dependencies *depends, struct bt_dependencies *weak_depends, @@ -168,7 +170,7 @@ struct ctf_stream_event *extract_ctf_stream_event(struct ctf_stream *stream) return event; } -void process_callbacks(struct babeltrace_iter *iter, +void process_callbacks(struct bt_iter *iter, struct ctf_stream *stream) { struct bt_stream_callbacks *bt_stream_cb; @@ -176,7 +178,7 @@ void process_callbacks(struct babeltrace_iter *iter, struct bt_callback *cb; int i; enum bt_cb_ret ret; - struct bt_ctf_data ctf_data; + struct bt_ctf_event ctf_data; ctf_data.event = extract_ctf_stream_event(stream); ctf_data.stream = stream; @@ -204,7 +206,7 @@ void process_callbacks(struct babeltrace_iter *iter, if (!bt_stream_cb || !bt_stream_cb->per_id_callbacks) goto end; - if (stream->event_id > bt_stream_cb->per_id_callbacks->len) + if (stream->event_id >= bt_stream_cb->per_id_callbacks->len) goto end; bt_chain = &g_array_index(bt_stream_cb->per_id_callbacks, struct bt_callback_chain, stream->event_id);