diff options
author | Pádraig Brady <P@draigBrady.com> | 2013-03-26 00:36:01 +0000 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2013-04-04 03:01:48 +0100 |
commit | 7abf99e1907b1b05cb45eacaa98bfa73efe0ab92 (patch) | |
tree | 5fa68cc019b4c74f61b9c4843ce04715d389adcb /src | |
parent | f7867e73caac82349e5623d04e46aaf784778644 (diff) | |
download | coreutils-7abf99e1907b1b05cb45eacaa98bfa73efe0ab92.tar.xz |
tail: exit without reading input if would never output
* src/tail.c (main): If -n0 or -c0 were specified without -f,
then no data would ever be output, so exit without reading input.
* tests/tail-2/tail-n0f.sh: Augment the related test with this case.
Diffstat (limited to 'src')
-rw-r--r-- | src/tail.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tail.c b/src/tail.c index ca851ee6f..cdaecddc4 100644 --- a/src/tail.c +++ b/src/tail.c @@ -2149,6 +2149,10 @@ main (int argc, char **argv) " indefinitely is ineffective")); } + /* Don't read anything if we'll never output anything. */ + if (! n_units && ! forever && ! from_start) + exit (EXIT_SUCCESS); + F = xnmalloc (n_files, sizeof *F); for (i = 0; i < n_files; i++) F[i].name = file[i]; |