X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=lib%2Fiterator.c;h=4ee0d5d22d454394075e3e3e68c2051d1c9202ba;hp=5e8a8ce8bee097059ff1c1d8d92e0f55ab611717;hb=5f38bc819a3feece3f0c8cf1155735b090e533c1;hpb=b587c608bc908920415bc1b1c7d21e809408cf36 diff --git a/lib/iterator.c b/lib/iterator.c index 5e8a8ce8..4ee0d5d2 100644 --- a/lib/iterator.c +++ b/lib/iterator.c @@ -399,10 +399,15 @@ int bt_iter_set_pos(struct bt_iter *iter, const struct bt_iter_pos *iter_pos) stream_pos->offset = saved_pos->offset; stream_pos->last_offset = LAST_OFFSET_POISON; - stream->prev_real_timestamp = 0; - stream->prev_real_timestamp_end = 0; - stream->prev_cycles_timestamp = 0; - stream->prev_cycles_timestamp_end = 0; + stream->current.real.begin = 0; + stream->current.real.end = 0; + stream->current.cycles.begin = 0; + stream->current.cycles.end = 0; + + stream->prev.real.begin = 0; + stream->prev.real.end = 0; + stream->prev.cycles.begin = 0; + stream->prev.cycles.end = 0; printf_debug("restored to cur_index = %" PRId64 " and " "offset = %" PRId64 ", timestamp = %" PRIu64 "\n", @@ -610,14 +615,11 @@ error: return NULL; } -struct bt_iter_pos *bt_iter_create_time_pos(struct bt_iter *iter, +struct bt_iter_pos *bt_iter_create_time_pos(struct bt_iter *unused, uint64_t timestamp) { struct bt_iter_pos *pos; - if (!iter) - return NULL; - pos = g_new0(struct bt_iter_pos, 1); pos->type = BT_SEEK_TIME; pos->u.seek_time = timestamp; @@ -663,7 +665,7 @@ int bt_iter_add_trace(struct bt_iter *iter, struct bt_trace_descriptor *td_read) { struct ctf_trace *tin; - int stream_id, ret; + int stream_id, ret = 0; tin = container_of(td_read, struct ctf_trace, parent); @@ -715,7 +717,7 @@ int bt_iter_init(struct bt_iter *iter, int i; int ret = 0; - if (!iter || !ctx) + if (!iter || !ctx || !ctx->tc || !ctx->tc->array) return -EINVAL; if (ctx->current_iterator) {