summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/gzip/zmore
blob: 64f7b1b99a8c34c4bb67b48c3dc8df343b4b13f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh

if test "`echo -n a`" = "-n a"; then
  # looks like a SysV system:
  n1=''; n2='\c'
else
  n1='-n'; n2=''
fi
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
oldtty=`stty -g`
trap 'stty -g $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15

if test $# = 0; then
	gzip -cd | eval ${PAGER-more}
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 -cd "$FILE" | eval ${PAGER-more}
	fi
	if test -t; then
		FIRST=0
	fi
    done
fi
OpenPOWER on IntegriCloud