Annotation of src/usr.bin/vgrind/vgrind.sh, Revision 1.3
1.1 deraadt 1: #!/bin/csh -f
2: #
1.3 ! tholo 3: # $OpenBSD: vgrind.sh,v 1.2 1996/06/26 05:42:31 deraadt 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:
1.3 ! tholo 40: # Allow troff to be overridden
! 41: if ( $?TROFF ) then
! 42: set troff = "$TROFF"
! 43: else
! 44: set troff = "troff"
! 45: endif
! 46:
! 47: set vf=/usr/libexec/vfontedpr
! 48: set tm=/usr/share/tmac
! 49:
1.1 deraadt 50: set voptions=
51: set options=
52: set files=
53: set f=''
54: set head=""
1.3 ! tholo 55:
1.1 deraadt 56: top:
57: if ($#argv > 0) then
58: switch ($1:q)
59:
60: case -f:
61: set f='filter'
62: set options = "$options $1:q"
63: shift
64: goto top
65:
66: case -t:
67: set voptions = "$voptions -t"
68: shift
69: goto top
70:
71: case -o*:
72: set voptions="$voptions $1:q"
73: shift
74: goto top
75:
76: case -W:
77: set voptions = "$voptions -W"
78: shift
79: goto top
80:
81: case -d:
82: if ($#argv < 2) then
83: echo "vgrind: $1:q option must have argument"
84: goto done
85: else
86: set options = ($options $1:q $2)
87: shift
88: shift
89: goto top
90: endif
91:
92: case -h:
93: if ($#argv < 2) then
94: echo "vgrind: $1:q option must have argument"
95: goto done
96: else
97: set head="$2"
98: shift
99: shift
100: goto top
101: endif
102:
103: case -*:
104: set options = "$options $1:q"
105: shift
106: goto top
107:
108: default:
109: set files = "$files $1:q"
110: shift
111: goto top
112: endsw
113: endif
114: if (-r index) then
115: echo > nindex
116: foreach i ($files)
117: # make up a sed delete command for filenames
118: # being careful about slashes.
119: echo "? $i ?d" | sed -e "s:/:\\/:g" -e "s:?:/:g" >> nindex
120: end
121: sed -f nindex index >xindex
122: if ($f == 'filter') then
123: if ("$head" != "") then
124: $vf $options -h "$head" $files | cat $tm/tmac.vgrind -
125: else
126: $vf $options $files | cat $tm/tmac.vgrind -
127: endif
128: else
129: if ("$head" != "") then
130: $vf $options -h "$head" $files | \
1.3 ! tholo 131: sh -c "$troff -rx1 $voptions -i -mvgrind 2>> xindex"
1.1 deraadt 132: else
133: $vf $options $files | \
1.3 ! tholo 134: sh -c "$troff -rx1 $voptions -i -mvgrind 2>> xindex"
1.1 deraadt 135: endif
136: endif
137: sort -df +0 -2 xindex >index
138: rm nindex xindex
139: else
140: if ($f == 'filter') then
141: if ("$head" != "") then
142: $vf $options -h "$head" $files | cat $tm/tmac.vgrind -
143: else
144: $vf $options $files | cat $tm/tmac.vgrind -
145: endif
146: else
147: if ("$head" != "") then
1.3 ! tholo 148: $vf $options -h "$head" $files | $troff -i $voptions -mvgrind
1.1 deraadt 149: else
1.3 ! tholo 150: $vf $options $files | $troff -i $voptions -mvgrind
1.1 deraadt 151: endif
152: endif
153: endif
154:
155: done: