summaryrefslogtreecommitdiff
path: root/usr.bin/compress/zmore
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/compress/zmore')
-rw-r--r--usr.bin/compress/zmore43
1 files changed, 23 insertions, 20 deletions
diff --git a/usr.bin/compress/zmore b/usr.bin/compress/zmore
index 7066a663929..0f21517de69 100644
--- a/usr.bin/compress/zmore
+++ b/usr.bin/compress/zmore
@@ -37,32 +37,35 @@ while test $# -ne 0; do
esac
done
+# No files means read from stdin
+# XXX - cannot distinguish between gzip or compress, assume gzip
if [ $# -eq 0 ]; then
- echo "usage: zmore filename ..."
- exit 1
+ compress -cdfgq 2>&1 | ${PAGER-more} $flags
+ exit 0
fi
oterm=`stty -g 2>/dev/null`
while test $# -ne 0; do
- gzip -cdfq "$1" 2>&1 | ${PAGER-more} $flags
+ compress -cdfq "$1" 2>&1 | ${PAGER-more} $flags
prev="$1"
shift
- test $# -eq 0 && break
- #echo -n "--More--(Next file: $1)"
- echo -n "$prev (END) - Next: $1 "
- trap "stty $oterm 2>/dev/null" 0 1 2 3 13 15
- stty cbreak -echo 2>/dev/null
- REPLY=`dd bs=1 count=1 2>/dev/null`
- stty $oterm 2>/dev/null
- trap - 0 1 2 3 13 15
- echo
- case "$REPLY" in
- s)
- shift
- ;;
- e|q)
- break
- ;;
- esac
+ if tty -s && test -n "$oterm" -a $# -gt 0; then
+ #echo -n "--More--(Next file: $1)"
+ echo -n "$prev (END) - Next: $1 "
+ trap "stty $oterm 2>/dev/null" 0 1 2 3 13 15
+ stty cbreak -echo 2>/dev/null
+ REPLY=`dd bs=1 count=1 2>/dev/null`
+ stty $oterm 2>/dev/null
+ trap - 0 1 2 3 13 15
+ echo
+ case "$REPLY" in
+ s)
+ shift
+ ;;
+ e|q)
+ break
+ ;;
+ esac
+ fi
done
exit 0