- r = journal_file_next_entry(f, o, &o, &p);
- if (r < 0)
+ return journal_file_next_entry(f, c, direction, o, p);
+ }
+
+ /* So there are matches we have to adhere to, let's find the
+ * first entry that matches all of them */
+
+ if (f->current_offset > 0)
+ cp = f->current_offset;
+ else {
+ r = journal_file_find_first_entry(f, j->matches->data, j->matches->size, direction, &c, &cp);
+ if (r <= 0)