diff options
author | Jean-loup Gailly <jloup@chorus.fr> | 1993-08-17 17:23:22 +0000 |
---|---|---|
committer | Jean-loup Gailly <jloup@chorus.fr> | 1993-08-17 17:23:22 +0000 |
commit | ba1102afc394de2a080b8b29792e6eda37824975 (patch) | |
tree | e8ad7a229af78f7f5152098f2d6b4f5cc3503806 /zmore.in | |
parent | 093f2760eca9b534cb54e0dead61dd5505ad4579 (diff) | |
download | gzip-ba1102afc394de2a080b8b29792e6eda37824975.tar.gz |
gzip 1.2.4
Diffstat (limited to 'zmore.in')
-rw-r--r-- | zmore.in | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/zmore.in b/zmore.in new file mode 100644 index 0000000..0865167 --- /dev/null +++ b/zmore.in @@ -0,0 +1,52 @@ +: +#!/bin/sh + +PATH="BINDIR:$PATH"; export PATH +if test "`echo -n a`" = "-n a"; then + # looks like a SysV system: + n1=''; n2='\c' +else + n1='-n'; n2='' +fi +oldtty=`stty -g 2>/dev/null` +if stty -cbreak 2>/dev/null; then + cb='cbreak'; ncb='-cbreak' +else + # 'stty min 1' resets eof to ^a on both SunOS and SysV! + cb='min 1 -icanon'; ncb='icanon eof ^d' +fi +if test $? -eq 0 -a -n "$oldtty"; then + trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15 +else + trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15 +fi + +if test $# = 0; then + if test -t 0; then + echo usage: zmore files... + else + gzip -cdfq | eval ${PAGER-more} + fi +else + FIRST=1 + for FILE + do + if test $FIRST -eq 0; then + echo $n1 "--More--(Next file: $FILE)$n2" + stty $cb -echo 2>/dev/null + ANS=`dd bs=1 count=1 2>/dev/null` + stty $ncb echo 2>/dev/null + echo " " + if test "$ANS" = 'e' -o "$ANS" = 'q'; then + exit + fi + fi + if test "$ANS" != 's'; then + echo "------> $FILE <------" + gzip -cdfq "$FILE" | eval ${PAGER-more} + fi + if test -t; then + FIRST=0 + fi + done +fi |