Alright, these ones get rid of is_stdin altogether. Isn't it better this
way?
--zeurkous.
Index: src/usr.bin/tail/extern.h
===================================================================
RCS file: /cvs/src/usr.bin/tail/extern.h,v
retrieving revision 1.12
diff -u -p -r1.12 extern.h
--- src/usr.bin/tail/extern.h 19 Nov 2015 17:50:04 -0000 1.12
+++ src/usr.bin/tail/extern.h 3 Jan 2019 10:00:59 -0000
@@ -55,4 +55,3 @@ void oerr(void);
void printfname(const char *);
extern int fflag, rflag, rval;
-extern int is_stdin;
Index: src/usr.bin/tail/forward.c
===================================================================
RCS file: /cvs/src/usr.bin/tail/forward.c,v
retrieving revision 1.31
diff -u -p -r1.31 forward.c
--- src/usr.bin/tail/forward.c 5 Jul 2016 05:06:27 -0000 1.31
+++ src/usr.bin/tail/forward.c 3 Jan 2019 10:00:59 -0000
@@ -335,7 +335,8 @@ tfreopen(struct tailfile *tf) {
struct tailfile **treopen, *ttf;
int i;
- if (tf && ((stat(tf->fname, &sb) != 0) || sb.st_ino != tf->sb.st_ino)) {
+ if (tf && !(tf->fp == stdin) &&
+ ((stat(tf->fname, &sb) != 0) || sb.st_ino != tf->sb.st_ino)) {
if (afiles < ++nfiles) {
afiles += AFILESINCR;
treopen = reallocarray(reopen, afiles, sizeof(*reopen));
Index: src/usr.bin/tail/tail.c
===================================================================
RCS file: /cvs/src/usr.bin/tail/tail.c,v
retrieving revision 1.21
diff -u -p -r1.21 tail.c
--- src/usr.bin/tail/tail.c 3 Feb 2016 12:23:57 -0000 1.21
+++ src/usr.bin/tail/tail.c 3 Jan 2019 10:00:59 -0000
@@ -45,7 +45,6 @@
#include "extern.h"
int fflag, rflag, rval;
-int is_stdin;
static void obsolete(char **);
static void usage(void);
@@ -173,7 +172,6 @@ main(int argc, char *argv[])
tf[0].fname = "stdin";
tf[0].fp = stdin;
- is_stdin = 1;
if (fstat(fileno(stdin), &(tf[0].sb))) {
ierr(tf[0].fname);