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