63 lines
2.0 KiB
Diff
63 lines
2.0 KiB
Diff
--- 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
|