X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=lib%2Fiterator.c;h=e3ae0689d80ce429da64748f0d7866536900f01b;hp=1658a7230ea45fd335d63936a258030e41afb8bc;hb=889aa6c01b16ee877ca221ed64c79457d01d51c4;hpb=f380e105704874a3b1fc065122ca286397e3f83c diff --git a/lib/iterator.c b/lib/iterator.c index 1658a723..e3ae0689 100644 --- a/lib/iterator.c +++ b/lib/iterator.c @@ -118,11 +118,10 @@ static int seek_file_stream_by_timestamp(struct ctf_file_stream *cfs, continue; stream_pos->packet_seek(&stream_pos->parent, i, SEEK_SET); - while (cfs->parent.timestamp < timestamp) { + do { ret = stream_read_event(cfs); - if (ret < 0) - break; - } + } while (cfs->parent.timestamp < timestamp && ret >= 0); + return 0; } return EOF; @@ -149,7 +148,7 @@ static int seek_ctf_trace_by_timestamp(struct ctf_trace *tin, stream_class = g_ptr_array_index(tin->streams, i); /* for each file_stream */ for (j = 0; j < stream_class->streams->len; j++) { - struct ctf_stream *stream; + struct ctf_stream_definition *stream; struct ctf_file_stream *cfs; stream = g_ptr_array_index(stream_class->streams, j); @@ -191,7 +190,7 @@ int bt_iter_set_pos(struct bt_iter *iter, const struct bt_iter_pos *iter_pos) i++) { struct stream_saved_pos *saved_pos; struct ctf_stream_pos *stream_pos; - struct ctf_stream *stream; + struct ctf_stream_definition *stream; saved_pos = &g_array_index( iter_pos->u.restore->stream_saved_pos, @@ -332,7 +331,7 @@ struct bt_iter_pos *bt_iter_get_pos(struct bt_iter *iter) for (stream_id = 0; stream_id < stream_class->streams->len; stream_id++) { - struct ctf_stream *stream; + struct ctf_stream_definition *stream; struct ctf_file_stream *cfs; struct stream_saved_pos saved_pos;