tail: Count lines correctly when file ends with two or more newlines

Previously, an extra line would be displayed when a file ended in more
than one newline.
This commit is contained in:
Tim Ledbetter 2023-05-20 07:28:30 +01:00 committed by Andreas Kling
parent daa9812cea
commit 7ad212ff63
Notes: sideshowbarker 2024-07-16 19:56:59 +09:00

View File

@ -33,7 +33,7 @@ static ErrorOr<off_t> find_seek_pos(Core::File& file, int wanted_lines)
TRY(file.seek(pos - 1, SeekMode::SetPosition)); TRY(file.seek(pos - 1, SeekMode::SetPosition));
auto ch = TRY(file.read_value<u8>()); auto ch = TRY(file.read_value<u8>());
if (ch == '\n' && (end - pos) > 1) { if (ch == '\n' && (end - pos) > 0) {
lines++; lines++;
if (lines == wanted_lines) if (lines == wanted_lines)
break; break;