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