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: