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

Annotation of src/usr.bin/vgrind/vgrind.sh, Revision 1.2

1.1       deraadt     1: #!/bin/csh -f
                      2: #
1.2     ! deraadt     3: #      $OpenBSD: vgrind.sh,v 1.3 1994/11/17 08:28:06 jtc Exp $
1.1       deraadt     4: #      $NetBSD: vgrind.sh,v 1.3 1994/11/17 08:28:06 jtc Exp $
                      5: #
                      6: # Copyright (c) 1980, 1993
                      7: #      The Regents of the University of California.  All rights reserved.
                      8: #
                      9: # Redistribution and use in source and binary forms, with or without
                     10: # modification, are permitted provided that the following conditions
                     11: # are met:
                     12: # 1. Redistributions of source code must retain the above copyright
                     13: #    notice, this list of conditions and the following disclaimer.
                     14: # 2. Redistributions in binary form must reproduce the above copyright
                     15: #    notice, this list of conditions and the following disclaimer in the
                     16: #    documentation and/or other materials provided with the distribution.
                     17: # 3. All advertising materials mentioning features or use of this software
                     18: #    must display the following acknowledgement:
                     19: #      This product includes software developed by the University of
                     20: #      California, Berkeley and its contributors.
                     21: # 4. Neither the name of the University nor the names of its contributors
                     22: #    may be used to endorse or promote products derived from this software
                     23: #    without specific prior written permission.
                     24: #
                     25: # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     26: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     27: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     28: # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     29: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     30: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     31: # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     32: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     33: # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     34: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     35: # SUCH DAMAGE.
                     36: #
                     37: #       @(#)vgrind.sh  8.1 (Berkeley) 6/6/93
                     38: #
                     39:
                     40: set voptions=
                     41: set options=
                     42: set files=
                     43: set f=''
                     44: set head=""
                     45: set vf=/usr/libexec/vfontedpr
                     46: set tm=/usr/share/tmac
                     47: top:
                     48: if ($#argv > 0) then
                     49:     switch ($1:q)
                     50:
                     51:     case -f:
                     52:        set f='filter'
                     53:        set options = "$options $1:q"
                     54:        shift
                     55:        goto top
                     56:
                     57:     case -t:
                     58:        set voptions = "$voptions -t"
                     59:        shift
                     60:        goto top
                     61:
                     62:     case -o*:
                     63:        set voptions="$voptions $1:q"
                     64:        shift
                     65:        goto top
                     66:
                     67:     case -W:
                     68:        set voptions = "$voptions -W"
                     69:        shift
                     70:        goto top
                     71:
                     72:     case -d:
                     73:        if ($#argv < 2) then
                     74:            echo "vgrind: $1:q option must have argument"
                     75:            goto done
                     76:        else
                     77:            set options = ($options $1:q $2)
                     78:            shift
                     79:            shift
                     80:            goto top
                     81:        endif
                     82:
                     83:     case -h:
                     84:        if ($#argv < 2) then
                     85:            echo "vgrind: $1:q option must have argument"
                     86:            goto done
                     87:        else
                     88:            set head="$2"
                     89:            shift
                     90:            shift
                     91:            goto top
                     92:        endif
                     93:
                     94:     case -*:
                     95:        set options = "$options $1:q"
                     96:        shift
                     97:        goto top
                     98:
                     99:     default:
                    100:        set files = "$files $1:q"
                    101:        shift
                    102:        goto top
                    103:     endsw
                    104: endif
                    105: if (-r index) then
                    106:     echo > nindex
                    107:     foreach i ($files)
                    108:        #       make up a sed delete command for filenames
                    109:        #       being careful about slashes.
                    110:        echo "? $i ?d" | sed -e "s:/:\\/:g" -e "s:?:/:g" >> nindex
                    111:     end
                    112:     sed -f nindex index >xindex
                    113:     if ($f == 'filter') then
                    114:        if ("$head" != "") then
                    115:            $vf $options -h "$head" $files | cat $tm/tmac.vgrind -
                    116:        else
                    117:            $vf $options $files | cat $tm/tmac.vgrind -
                    118:        endif
                    119:     else
                    120:        if ("$head" != "") then
                    121:            $vf $options -h "$head" $files | \
                    122:                sh -c "psroff -rx1 $voptions -i -mvgrind 2>> xindex"
                    123:        else
                    124:            $vf $options $files | \
                    125:                sh -c "psroff -rx1 $voptions -i -mvgrind 2>> xindex"
                    126:        endif
                    127:     endif
                    128:     sort -df +0 -2 xindex >index
                    129:     rm nindex xindex
                    130: else
                    131:     if ($f == 'filter') then
                    132:        if ("$head" != "") then
                    133:            $vf $options -h "$head" $files | cat $tm/tmac.vgrind -
                    134:        else
                    135:            $vf $options $files | cat $tm/tmac.vgrind -
                    136:        endif
                    137:     else
                    138:        if ("$head" != "") then
                    139:            $vf $options -h "$head" $files | psroff -i $voptions -mvgrind
                    140:        else
                    141:            $vf $options $files | psroff -i $voptions -mvgrind
                    142:        endif
                    143:     endif
                    144: endif
                    145:
                    146: done: