projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adding a test which do a sequence of seek BEGIN, LAST, BEGIN, LAST
[babeltrace.git]
/
lib
/
iterator.c
diff --git
a/lib/iterator.c
b/lib/iterator.c
index b57be035057923a5bee693c3e3889a4ef1f8d26b..b205a93764ddc1940db73a35365977a586314b7b 100644
(file)
--- a/
lib/iterator.c
+++ b/
lib/iterator.c
@@
-253,7
+253,7
@@
static int find_max_timestamp_ctf_stream_class(
struct ctf_file_stream **cfsp,
uint64_t *max_timestamp)
{
struct ctf_file_stream **cfsp,
uint64_t *max_timestamp)
{
- int ret = EOF, i;
+ int ret = EOF, i
, found = 0
;
for (i = 0; i < stream_class->streams->len; i++) {
struct ctf_stream_definition *stream;
for (i = 0; i < stream_class->streams->len; i++) {
struct ctf_stream_definition *stream;
@@
-272,9
+272,13
@@
static int find_max_timestamp_ctf_stream_class(
if (current_max_ts >= *max_timestamp) {
*max_timestamp = current_max_ts;
*cfsp = cfs;
if (current_max_ts >= *max_timestamp) {
*max_timestamp = current_max_ts;
*cfsp = cfs;
+ found = 1;
}
}
assert(ret >= 0 || ret == EOF);
}
}
assert(ret >= 0 || ret == EOF);
+ if (found) {
+ return 0;
+ }
return ret;
}
return ret;
}
@@
-381,8
+385,8
@@
int bt_iter_set_pos(struct bt_iter *iter, const struct bt_iter_pos *iter_pos)
stream->prev_cycles_timestamp = 0;
stream->prev_cycles_timestamp_end = 0;
stream->prev_cycles_timestamp = 0;
stream->prev_cycles_timestamp_end = 0;
- printf_debug("restored to cur_index = %
zd
and "
- "offset = %
zd
, timestamp = %" PRIu64 "\n",
+ printf_debug("restored to cur_index = %
" PRId64 "
and "
+ "offset = %
" PRId64 "
, timestamp = %" PRIu64 "\n",
stream_pos->cur_index,
stream_pos->offset, stream->real_timestamp);
stream_pos->cur_index,
stream_pos->offset, stream->real_timestamp);
@@
-471,6
+475,10
@@
int bt_iter_set_pos(struct bt_iter *iter, const struct bt_iter_pos *iter_pos)
if (ret != 0 && ret != EOF) {
goto error;
}
if (ret != 0 && ret != EOF) {
goto error;
}
+ if (ret == EOF) {
+ /* Do not add EOF streams */
+ continue;
+ }
ret = heap_insert(iter->stream_heap, file_stream);
if (ret)
goto error;
ret = heap_insert(iter->stream_heap, file_stream);
if (ret)
goto error;
This page took
0.024923 seconds
and
4
git commands to generate.