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