From c667ca229f3bed2b6d2ea16312f607d8d385e4c3 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 22 Jul 2025 22:05:17 -0700 Subject: [PATCH] tail: simplify -c+ on regular files * src/tail.c (tail_bytes): Simplify the -c+N case by treating regular files like other files; if the lseek fails for whatever reason, fall back on the unoptimized version instead of reporting a fatal error. --- src/tail.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/tail.c b/src/tail.c index ac66c9aa50..caf67a0500 100644 --- a/src/tail.c +++ b/src/tail.c @@ -1858,9 +1858,7 @@ tail_bytes (char const *pretty_filename, int fd, uintmax_t n_bytes, if (from_start) { if (! presume_input_pipe && n_bytes <= OFF_T_MAX - && ((S_ISREG (stats.st_mode) - && xlseek (fd, n_bytes, SEEK_CUR, pretty_filename) >= 0) - || lseek (fd, n_bytes, SEEK_CUR) != -1)) + && 0 <= lseek (fd, n_bytes, SEEK_CUR)) *read_pos += n_bytes; else { -- 2.47.2