summaryrefslogtreecommitdiff
path: root/zmore.in
diff options
context:
space:
mode:
authorJean-loup Gailly <jloup@chorus.fr>1993-08-17 17:23:22 +0000
committerJean-loup Gailly <jloup@chorus.fr>1993-08-17 17:23:22 +0000
commitba1102afc394de2a080b8b29792e6eda37824975 (patch)
treee8ad7a229af78f7f5152098f2d6b4f5cc3503806 /zmore.in
parent093f2760eca9b534cb54e0dead61dd5505ad4579 (diff)
downloadgzip-ba1102afc394de2a080b8b29792e6eda37824975.tar.gz
gzip 1.2.4
Diffstat (limited to 'zmore.in')
-rw-r--r--zmore.in52
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