#!/bin/sh

# Bzmore wrapped for bzip2,
# adapted from zmore by Philippe Troin <[email protected]> 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