]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.bin/vgrind/vgrind.sh
Add two missing eventhandler.h headers
[FreeBSD/FreeBSD.git] / usr.bin / vgrind / vgrind.sh
1 #!/bin/sh
2 #
3 # SPDX-License-Identifier: BSD-3-Clause
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. Neither the name of the University nor the names of its contributors
17 #    may be used to endorse or promote products derived from this software
18 #    without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 # SUCH DAMAGE.
31 #
32 #       @(#)vgrind.sh   8.1 (Berkeley) 6/6/93
33 #
34 # $FreeBSD$
35 #
36
37 voptions=""
38 options=""
39 files=""
40 f=""
41 head=""
42 vf="/usr/libexec/vfontedpr"
43 tm="/usr/share/tmac"
44 postproc="psroff"
45
46 # Parse args
47 while test $# -gt 0; do
48         case $1 in
49         -f)
50                 f="filter"
51                 options="$options -f"
52         ;;
53         -t)
54                 voptions="$voptions -t"
55         ;;
56         -o*)
57                 voptions="$voptions $1"
58         ;;
59         -W)
60                 voptions="$voptions -W"
61         ;;
62         -d)
63                 if test $# -lt 2; then
64                         echo "$0: option $1 must have argument" >&2
65                         exit 1
66                 fi
67                 options="$options $1 $2"
68                 shift
69         ;;
70         -h)
71                 if test $# -lt 2; then
72                         echo "$0: option $1 must have argument" >&2
73                         exit 1
74                 fi
75                 head="$2"
76                 shift
77         ;;
78         -p)
79                 if test $# -lt 2; then
80                         echo "$0: option $1 must have argument" >&2
81                         exit 1
82                 fi
83                 postproc="$2"
84                 shift
85         ;;
86         -*)
87                 options="$options $1"
88         ;;
89         *)
90                 files="$files $1"
91         ;;
92         esac
93         shift
94 done
95
96 if test -r index; then
97         echo > nindex
98         for i in $files; do
99                 #       make up a sed delete command for filenames
100                 #       being careful about slashes.
101                 echo "? $i ?d" | sed -e "s:/:\\/:g" -e "s:?:/:g" >> nindex
102         done
103         sed -f nindex index > xindex
104         if test "x$f" = xfilter; then
105                 if test "x$head" != x; then
106                         $vf $options -h "$head" $files
107                 else
108                         $vf $options $files
109                 fi | cat $tm/tmac.vgrind -
110         else
111                 if test "x$head" != x; then
112                         $vf $options -h "$head" $files
113                 else
114                         $vf $options $files
115                 fi | sh -c "$postproc -rx1 $voptions -i -mvgrind 2>> xindex"
116         fi
117         sort -df -k 1,2 xindex > index
118         rm nindex xindex
119 else
120         if test "x$f" = xfilter; then
121                 if test "x$head" != x; then
122                         $vf $options -h "$head" $files
123                 else
124                         $vf $options $files
125                 fi | cat $tm/tmac.vgrind -
126         else
127                 if test "x$head" != x; then
128                         $vf $options -h "$head" $files
129                 else
130                         $vf $options $files
131                 fi | $postproc -i $voptions -mvgrind
132         fi
133 fi