tail compat: fix header printing for tail -f
No binary (build failed)
—
(log yok)
| @@ -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: | |
| @@ -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); | |
| } | |