aboutsummaryrefslogtreecommitdiff
path: root/bfd/unPROTO
blob: a6f95207dba017a094f925a1fdc21d0261fdcdd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#
# The PROTO macro is a subterfuge to be compatible with both ANSI and K&R 
# declaration syntax.  It's not widely known, so for the docn just map the 
# thing to ANSI declaration syntax.
# 
# First, join up defns broken across multiple lines in source---but leave
# any linebreaks, to prettify our examples 
:pbegn
/PROTO(.*, *$/N
s/\n/?/
t pbegn
s/?/\
/g
# Now actually do the PROTO interpretation.
# A PROTO invocation looks like
#   PROTO( resulttype, function, (arglist));
s/[ 	]*PROTO(\(.*\),[\n 	]*\(.*\),[\n 	]*\((.*)\));/\1 \2\3;/