From: Lennart Poettering Date: Tue, 26 Nov 2013 23:58:39 +0000 (+0100) Subject: journal: fix iteration when we go backwards from the beginning of an array chain... X-Git-Tag: v209~1277 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=e5462cd80e5328a769137c261c93931ea0c27bab;p=elogind.git journal: fix iteration when we go backwards from the beginning of an array chain element --- diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index 27cd16fc0..409be76dd 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -1687,7 +1687,7 @@ found: return 0; /* Let's cache this item for the next invocation */ - chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t, i + (subtract_one ? -1 : 0)); + chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t, subtract_one ? (i > 0 ? i-1 : (uint64_t) -1) : i); if (subtract_one && i == 0) p = last_p;