summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO5
-rw-r--r--coreutils/tail.c5
2 files changed, 4 insertions, 6 deletions
diff --git a/TODO b/TODO
index d2a085e..dcf48c2 100644
--- a/TODO
+++ b/TODO
@@ -127,11 +127,6 @@ patch
And while we're at it, a new patch filename quoting format is apparently
coming soon: http://marc.theaimsgroup.com/?l=git&m=112927316408690&w=2
----
-tail
- ./busybox tail -f foo.c~ TODO
- should not print fmt=header_fmt for subsequent date >> TODO; i.e. only
- fmt+ if another (not the current) file did change
Architectural issues:
diff --git a/coreutils/tail.c b/coreutils/tail.c
index 07c71ca..eab502b 100644
--- a/coreutils/tail.c
+++ b/coreutils/tail.c
@@ -105,6 +105,7 @@ int tail_main(int argc, char **argv)
int *fds;
const char *fmt;
+ int prev_fd;
INIT_G();
@@ -309,6 +310,7 @@ int tail_main(int argc, char **argv)
xwrite(STDOUT_FILENO, tailbuf, taillen);
}
} while (++i < nfiles);
+ prev_fd = fds[i-1];
tailbuf = xrealloc(tailbuf, BUFSIZ);
@@ -365,9 +367,10 @@ int tail_main(int argc, char **argv)
nread = tail_read(fd, tailbuf, BUFSIZ);
if (nread <= 0)
break;
- if (fmt) {
+ if (fmt && (fd != prev_fd)) {
tail_xprint_header(fmt, filename);
fmt = NULL;
+ prev_fd = fd;
}
xwrite(STDOUT_FILENO, tailbuf, nread);
}