6
# comments can be trouble (e.g. ffree())
7
if ( (c = match(prev, /\/\*.*\*\/$/)) != 0 ) {
8
comment = substr(prev, c)
9
sub(/\/\*.*\*\/$/, "", prev)
14
# isolate argument list
15
sub(/^[^(]*\(/, "", x)
16
sub(/\)[^)]*$/, "", x)
18
# find the names in it
21
for (i = 2; i <= n; i += 2)
22
arglist = arglist args[i]
23
gsub(/\(\*f\)\(Tchar\)/, "f", arglist) # special case for n4.c
24
gsub(/\[[0-9]+\]/, "", arglist) # for n8.c
25
gsub(/[*()\[\]]/, "", arglist) # discard noise characters *()[]
26
gsub(/,/, ", ", arglist) # space nicely
27
sub(/\(.*\)/, "(" arglist ")", prev) # reconstruct
30
# argument declarations
32
gsub(/\(\*f\)\(Tchar\)/, "(*f)()", x) # special case for n4.c