gzip 1.3.5
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 28 Sep 2002 08:19:37 +0000 (08:19 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 28 Sep 2002 08:19:37 +0000 (08:19 +0000)
zmore.in

index 0865167ddfdc6270ac92f8b8d039f8ae6ddfb66e..91f1fc72366272098cef7057f487527b0f7677a7 100644 (file)
--- a/zmore.in
+++ b/zmore.in
@@ -1,6 +1,24 @@
 :
 #!/bin/sh
 
+# Copyright (C) 2001, 2002 Free Software Foundation
+# Copyright (C) 1992, 1993 Jean-loup Gailly
+
+# 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.
+
 PATH="BINDIR:$PATH"; export PATH
 if test "`echo -n a`" = "-n a"; then
   # looks like a SysV system:
@@ -15,7 +33,7 @@ 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
+if test $? -eq 0 && test -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
@@ -23,7 +41,7 @@ fi
 
 if test $# = 0; then
     if test -t 0; then
-       echo usage: zmore files...
+       echo usage: ${ZMORE_PROGRAM_NAME-zmore} files...
     else
        gzip -cdfq | eval ${PAGER-more}
     fi
@@ -31,21 +49,22 @@ 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
+               case "$ANS" in
+               [eq]) exit;;
+               esac
        fi
        if test "$ANS" != 's'; then
                echo "------> $FILE <------"
                gzip -cdfq "$FILE" | eval ${PAGER-more}
        fi
-       if test -t; then
+       if test -t 1; then
                FIRST=0
        fi
     done