summaryrefslogtreecommitdiffstats
path: root/package/busybox/busybox-1.10.0-tail.patch
blob: 990cdc308340dd27234668e386d77241393267ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
--- busybox-1.10.0/coreutils/tail.c	Thu Mar 20 12:46:51 2008
+++ busybox-1.10.0-tail/coreutils/tail.c	Sun Mar 23 04:25:12 2008
@@ -163,8 +163,6 @@
 	fmt = header_fmt + 1;	/* Skip header leading newline on first output. */
 	i = 0;
 	do {
-		off_t current;
-
 		if (nfiles > header_threshhold) {
 			tail_xprint_header(fmt, argv[i]);
 			fmt = header_fmt;
@@ -173,19 +171,17 @@
 		/* Optimizing count-bytes case if the file is seekable.
 		 * Beware of backing up too far.
 		 * Also we exclude files with size 0 (because of /proc/xxx) */
-		current = lseek(fds[i], 0, SEEK_END);
-		if (current > 0) {
-			if (!from_top) {
+		if (COUNT_BYTES && !from_top) {
+			off_t current = lseek(fds[i], 0, SEEK_END);
+			if (current > 0) {
 				if (count == 0)
 					continue; /* showing zero lines is easy :) */
-				if (COUNT_BYTES) {
-					current -= count;
-					if (current < 0)
-						current = 0;
-					xlseek(fds[i], current, SEEK_SET);
-					bb_copyfd_size(fds[i], STDOUT_FILENO, count);
-					continue;
-				}
+				current -= count;
+				if (current < 0)
+					current = 0;
+				xlseek(fds[i], current, SEEK_SET);
+				bb_copyfd_size(fds[i], STDOUT_FILENO, count);
+				continue;
 			}
 		}
 
--- busybox-1.10.0/testsuite/tail/tail-n-works	Thu Mar 20 12:46:57 2008
+++ busybox-1.10.0-tail/testsuite/tail/tail-n-works	Sun Mar 23 04:25:12 2008
@@ -1,4 +1,4 @@
-[ -n "$d" ] || d=..
-tail -n 2 "$d/README" > logfile.gnu
-busybox tail -n 2 "$d/README" > logfile.bb
-cmp logfile.gnu logfile.bb
+echo -ne "abc\ndef\n123\n" >input
+echo -ne "def\n123\n" >logfile.ok
+busybox tail -n 2 input > logfile.bb
+cmp logfile.ok logfile.bb
--- busybox-1.10.0/testsuite/tail/tail-works	Thu Mar 20 12:46:57 2008
+++ busybox-1.10.0-tail/testsuite/tail/tail-works	Sun Mar 23 04:25:12 2008
@@ -1,4 +1,4 @@
-[ -n "$d" ] || d=..
-tail -n 2 "$d/README" > logfile.gnu
-busybox tail -n 2 "$d/README" > logfile.bb
-cmp logfile.gnu logfile.bb
+echo -ne "abc\ndef\n123\n" >input
+echo -ne "def\n123\n" >logfile.ok
+busybox tail -2 input > logfile.bb
+cmp logfile.ok logfile.bb