[BACK]Return to zmore CVS log [TXT][DIR] Up to [local] / src / usr.bin / compress

Annotation of src/usr.bin/compress/zmore, Revision 1.4

1.3       millert     1: #!/bin/sh -
1.1       millert     2: #
1.4     ! otto        3: # $OpenBSD$
        !             4: #
1.1       millert     5: # Copyright (c) 2003 Todd C. Miller <Todd.Miller@courtesan.com>
                      6: #
                      7: # Permission to use, copy, modify, and distribute this software for any
                      8: # purpose with or without fee is hereby granted, provided that the above
                      9: # copyright notice and this permission notice appear in all copies.
                     10: #
                     11: # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
                     12: # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                     13: # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
                     14: # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     15: # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
                     16: # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
                     17: # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
                     18: #
                     19: # Sponsored in part by the Defense Advanced Research Projects
                     20: # Agency (DARPA) and Air Force Research Laboratory, Air Force
                     21: # Materiel Command, USAF, under agreement number F39502-99-1-0512.
                     22: #
                     23:
                     24: # Pull out any command line flags so we can pass them to more/less
                     25: flags=
                     26: while test $# -ne 0; do
                     27:        case "$1" in
                     28:                --)
                     29:                        shift
                     30:                        break
                     31:                        ;;
                     32:                -*)
                     33:                        flags="$flags $1"
                     34:                        shift
                     35:                        ;;
                     36:                *)
                     37:                        break
                     38:                        ;;
                     39:        esac
                     40: done
                     41:
1.2       millert    42: # No files means read from stdin
1.1       millert    43: if [ $# -eq 0 ]; then
1.3       millert    44:        compress -cdfq 2>&1 | ${PAGER-more} $flags
1.2       millert    45:        exit 0
1.1       millert    46: fi
                     47:
                     48: oterm=`stty -g 2>/dev/null`
                     49: while test $# -ne 0; do
1.2       millert    50:        compress -cdfq "$1" 2>&1 | ${PAGER-more} $flags
1.1       millert    51:        prev="$1"
                     52:        shift
1.2       millert    53:        if tty -s && test -n "$oterm" -a $# -gt 0; then
                     54:                #echo -n "--More--(Next file: $1)"
                     55:                echo -n "$prev (END) - Next: $1 "
                     56:                trap "stty $oterm 2>/dev/null" 0 1 2 3 13 15
                     57:                stty cbreak -echo 2>/dev/null
                     58:                REPLY=`dd bs=1 count=1 2>/dev/null`
                     59:                stty $oterm 2>/dev/null
                     60:                trap - 0 1 2 3 13 15
                     61:                echo
                     62:                case "$REPLY" in
                     63:                        s)
                     64:                                shift
                     65:                                ;;
                     66:                        e|q)
                     67:                                break
                     68:                                ;;
                     69:                esac
                     70:        fi
1.1       millert    71: done
                     72: exit 0