1#!/bin/csh -f 2# 3# $NetBSD: vgrind.sh,v 1.5 2003/08/18 14:10:22 pooka 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 39set voptions= 40set options= 41set files= 42set f='' 43set head="" 44set vf=/usr/libexec/vfontedpr 45set tm=/usr/share/tmac 46set vmacs=vgrind.tmac 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 -*: 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 104endif 105if (-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/$vmacs - 116 else 117 $vf $options $files | cat $tm/$vmacs - 118 endif 119 else 120 if ("$head" != "") then 121 $vf $options -h "$head" $files | \ 122 sh -c "groff -Tps -l -C -rx1 $voptions -i -mvgrind 2>> xindex" 123 else 124 $vf $options $files | \ 125 sh -c "groff -Tps -l -C -rx1 $voptions -i -mvgrind 2>> xindex" 126 endif 127 endif 128 sort -df +0 -2 xindex >index 129 rm nindex xindex 130else 131 if ($f == 'filter') then 132 if ("$head" != "") then 133 $vf $options -h "$head" $files | cat $tm/$vmacs - 134 else 135 $vf $options $files | cat $tm/$vmacs - 136 endif 137 else 138 if ("$head" != "") then 139 $vf $options -h "$head" $files | groff -Tps -l -C -i $voptions -mvgrind 140 else 141 $vf $options $files | groff -Tps -l -C -i $voptions -mvgrind 142 endif 143 endif 144endif 145 146done: 147