tail: fix -c +N. Closes 4111
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
6d2d652cd3
commit
0851d125c3
@ -203,7 +203,7 @@ int tail_main(int argc, char **argv)
|
|||||||
int fd = fds[i];
|
int fd = fds[i];
|
||||||
|
|
||||||
if (ENABLE_FEATURE_FANCY_TAIL && fd < 0)
|
if (ENABLE_FEATURE_FANCY_TAIL && fd < 0)
|
||||||
continue; /* may happen with -E */
|
continue; /* may happen with -F */
|
||||||
|
|
||||||
if (nfiles > header_threshhold) {
|
if (nfiles > header_threshhold) {
|
||||||
tail_xprint_header(fmt, argv[i]);
|
tail_xprint_header(fmt, argv[i]);
|
||||||
@ -259,7 +259,7 @@ int tail_main(int argc, char **argv)
|
|||||||
/* We need to skip a few more bytes/lines */
|
/* We need to skip a few more bytes/lines */
|
||||||
if (COUNT_BYTES) {
|
if (COUNT_BYTES) {
|
||||||
nwrite -= (count - seen);
|
nwrite -= (count - seen);
|
||||||
seen = count;
|
seen += nread;
|
||||||
} else {
|
} else {
|
||||||
char *s = buf;
|
char *s = buf;
|
||||||
do {
|
do {
|
||||||
|
@ -14,4 +14,12 @@ testing "tail: +N with N > file length" \
|
|||||||
"0\n" \
|
"0\n" \
|
||||||
"" "qw"
|
"" "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
|
exit $FAILCOUNT
|
||||||
|
Loading…
Reference in New Issue
Block a user