]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.bin/vgrind/vgrind.sh
This commit was generated by cvs2svn to compensate for changes in r85919,
[FreeBSD/FreeBSD.git] / usr.bin / vgrind / vgrind.sh
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
37 set voptions=
38 set options=
39 set files=
40 set f=''
41 set head=""
42 set vf=/usr/libexec/vfontedpr
43 set tm=/usr/share/tmac
44 set postproc=psroff
45 top:
46 if ($#argv > 0) then
47     switch ($1:q)
48
49     case -f:
50         set f='filter'
51         set options = "$options $1:q"
52         shift
53         goto top
54
55     case -t:
56         set voptions = "$voptions -t"
57         shift
58         goto top
59
60     case -o*:
61         set voptions="$voptions $1:q"
62         shift
63         goto top
64
65     case -W:
66         set voptions = "$voptions -W"
67         shift
68         goto top
69
70     case -d:
71         if ($#argv < 2) then
72             echo "vgrind: $1:q option must have argument"
73             goto done
74         else
75             set options = ($options $1:q $2)
76             shift
77             shift
78             goto top
79         endif
80                         
81     case -h:
82         if ($#argv < 2) then
83             echo "vgrind: $1:q option must have argument"
84             goto done
85         else
86             set head="$2"
87             shift
88             shift
89             goto top
90         endif
91                         
92     case -p:
93         if ($#argv < 2) then
94             echo "vgrind: $1:q option must have argument"
95             goto done
96         else
97             set postproc="$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 | \
131                 sh -c "$postproc -rx1 $voptions -i -mvgrind 2>> xindex"
132         else
133             $vf $options $files | \
134                 sh -c "$postproc -rx1 $voptions -i -mvgrind 2>> xindex"
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
148             $vf $options -h "$head" $files | $postproc -i $voptions -mvgrind
149         else
150             $vf $options $files | $postproc -i $voptions -mvgrind
151         endif
152     endif
153 endif
154
155 done: