| #!/bin/sh |
| |
| # Copyright (C) 2001 Free Software Foundation |
| # Copyright (C) 1992, 1993 Jean-loup Gailly |
| # Adapted to LZMA utils from gzip-1.3.3 + Red Hat's security patches |
| |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 2, or (at your option) |
| # any later version. |
| |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| |
| # You should have received a copy of the GNU General Public License |
| # along with this program; if not, write to the Free Software |
| # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
| # 02111-1307, USA. |
| |
| if test "`echo "$0" | sed 's|.*/||'`" = "lzless"; then |
| PAGER=less |
| fi |
| |
| 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 |
| lzma -dc | eval ${PAGER-more} |
| fi |
| else |
| FIRST=1 |
| for FILE |
| do |
| < "$FILE" || continue |
| 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 <------" |
| lzma -dc "$FILE" | eval ${PAGER-more} |
| fi |
| if test -t; then |
| FIRST=0 |
| fi |
| done |
| fi |