tail: fix fallout from tail -c optimization

diff --git a/coreutils/tail.c b/coreutils/tail.c
index 35b25a4..2f997a9 100644
--- a/coreutils/tail.c
+++ b/coreutils/tail.c
@@ -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;
 			}
 		}
 
diff --git a/testsuite/tail/tail-n-works b/testsuite/tail/tail-n-works
index 27a905f..e5b260c 100644
--- a/testsuite/tail/tail-n-works
+++ b/testsuite/tail/tail-n-works
@@ -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
diff --git a/testsuite/tail/tail-works b/testsuite/tail/tail-works
index 27a905f..64e6d88 100644
--- a/testsuite/tail/tail-works
+++ b/testsuite/tail/tail-works
@@ -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