diff options
-rw-r--r-- | coreutils/tail.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/coreutils/tail.c b/coreutils/tail.c index d49539916..f330ab1a1 100644 --- a/coreutils/tail.c +++ b/coreutils/tail.c @@ -81,17 +81,14 @@ static ssize_t tail_read(int fd, char *buf, size_t count) ssize_t r; off_t current,end; struct stat sbuf; - int ret; - end = current = lseek (fd, 0, SEEK_CUR); - if (!fstat(fd, &sbuf)){ - end = sbuf.st_size; - } - if ( end < current) { + end = current = lseek(fd, 0, SEEK_CUR); + if (!fstat(fd, &sbuf)) + end = sbuf.st_size; + if (end < current) lseek(fd, 0, SEEK_SET); - } else { + else lseek(fd, current, SEEK_SET); - } if ((r = safe_read(fd, buf, count)) < 0) { bb_perror_msg("read"); status = EXIT_FAILURE; |