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
|