From a94149601a4398b8d5578ef4e77f833992834817 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 May 2023 01:59:18 +0900 Subject: [PATCH] sd-journal: save correct location specifier --- src/libsystemd/sd-journal/sd-journal.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c index d4adbe5f0f..bc587319b8 100644 --- a/src/libsystemd/sd-journal/sd-journal.c +++ b/src/libsystemd/sd-journal/sd-journal.c @@ -812,7 +812,8 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc /* If we hit EOF before, we don't need to look into this file again * unless direction changed or new entries appeared. */ - if (f->last_direction == direction && f->location_type == LOCATION_TAIL && + if (f->last_direction == direction && + f->location_type == (direction == DIRECTION_DOWN ? LOCATION_TAIL : LOCATION_HEAD) && n_entries == f->last_n_entries) return 0; @@ -940,7 +941,7 @@ static int real_journal_next(sd_journal *j, direction_t direction) { remove_file_real(j, f); continue; } else if (r == 0) { - f->location_type = LOCATION_TAIL; + f->location_type = direction == DIRECTION_DOWN ? LOCATION_TAIL : LOCATION_HEAD; continue; } -- 2.25.1