kumquat-buildroot/package/busybox/busybox-1.19.2/busybox-1.19.2-tail.patch
Peter Korsgaard f83cacf3b5 busybox: add 1.19.2 tail fix
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-26 21:35:12 +02:00

44 lines
1.3 KiB
Diff

--- busybox-1.19.2/coreutils/tail.c
+++ busybox-1.19.2-tail/coreutils/tail.c
@@ -203,7 +203,7 @@ int tail_main(int argc, char **argv)
int fd = fds[i];
if (ENABLE_FEATURE_FANCY_TAIL && fd < 0)
- continue; /* may happen with -E */
+ continue; /* may happen with -F */
if (nfiles > header_threshhold) {
tail_xprint_header(fmt, argv[i]);
@@ -252,14 +252,14 @@ int tail_main(int argc, char **argv)
* Used only by +N code ("start from Nth", 1-based): */
seen = 1;
newlines_seen = 0;
- while ((nread = tail_read(fd, buf, tailbufsize-taillen)) > 0) {
+ while ((nread = tail_read(fd, buf, tailbufsize - taillen)) > 0) {
if (G.from_top) {
int nwrite = nread;
if (seen < count) {
/* We need to skip a few more bytes/lines */
if (COUNT_BYTES) {
nwrite -= (count - seen);
- seen = count;
+ seen += nread;
} else {
char *s = buf;
do {
--- busybox-1.19.2/testsuite/tail.tests
+++ busybox-1.19.2-tail/testsuite/tail.tests
@@ -14,4 +14,12 @@ testing "tail: +N with N > file length"
"0\n" \
"" "qw"
+testing "tail: -c +N with largish N" \
+ "
+ dd if=/dev/zero bs=16k count=1 2>/dev/null | tail -c +8200 | wc -c;
+ dd if=/dev/zero bs=16k count=1 2>/dev/null | tail -c +8208 | wc -c;
+ " \
+ "8185\n8177\n" \
+ "" ""
+
exit $FAILCOUNT