Edit

kc3-lang/bzip2/bzmore

Branch :

  • Show log

    Commit

  • Author : Julian Seward
    Date : 2001-12-30 22:13:13
    Hash : 099d8442
    Message : bzip2-1.0.2

  • bzmore
  • #!/bin/sh
    
    # Bzmore wrapped for bzip2, 
    # adapted from zmore by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
    
    PATH="/usr/bin:$PATH"; export PATH
    
    prog=`echo $0 | sed 's|.*/||'`
    case "$prog" in
    	*less)	more=less	;;
    	*)	more=more       ;;
    esac
    
    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: $prog files...
        else
    	bzip2 -cdfq | eval $more
        fi
    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 <------"
    		bzip2 -cdfq "$FILE" | eval $more
    	fi
    	if test -t; then
    		FIRST=0
    	fi
        done
    fi