summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-12-21 16:11:43 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2011-12-21 16:12:24 -0800
commitee0e33940f9e6cb0225692337fa06c981108c64e (patch)
tree196609db143a46470d5de8fb688135779e3509c9
parentd0aa88a5658ae560b3cf3c561d29a1ea1b7aa679 (diff)
downloadgzip-ee0e33940f9e6cb0225692337fa06c981108c64e.tar.gz
zless: decompress stdin too, if less 429 or later
* zless.in: Use LESSOPEN |- feature of less 429 or later. Problem reported by Jeroen Roovers via Mike Frysinger in <http://lists.gnu.org/archive/html/bug-gzip/2011-12/msg00006.html>.
-rw-r--r--zless.in12
1 files changed, 11 insertions, 1 deletions
diff --git a/zless.in b/zless.in
index 4152017..93546de 100644
--- a/zless.in
+++ b/zless.in
@@ -53,5 +53,15 @@ if test "${LESSMETACHARS+set}" != set; then
export LESSMETACHARS
fi
-LESSOPEN="|gzip -cdfq -- %s"; export LESSOPEN
+less_version=`less -V` || exit
+case $less_version in
+'less 429
+'* | 'less '4[3-9][0-9]* | 'less '[5-9][0-9][0-9]* | 'less '[1-9][0-9][0-9][0-9]*)
+ use_input_pipe_on_stdin='-';;
+*) use_input_pipe_on_stdin='';;
+esac
+
+LESSOPEN="|${use_input_pipe_on_stdin}gzip -cdfq -- %s"
+export LESSOPEN
+
exec less "$@"