busybox: add 1.19.2 tail fix
authorPeter Korsgaard <jacmet@sunsite.dk>
Mon, 26 Sep 2011 19:35:12 +0000 (21:35 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 26 Sep 2011 19:35:12 +0000 (21:35 +0200)
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/busybox/busybox-1.19.2/busybox-1.19.2-tail.patch [new file with mode: 0644]

diff --git a/package/busybox/busybox-1.19.2/busybox-1.19.2-tail.patch b/package/busybox/busybox-1.19.2/busybox-1.19.2-tail.patch
new file mode 100644 (file)
index 0000000..f3cc798
--- /dev/null
@@ -0,0 +1,43 @@
+--- 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