5 5cedca1b 2004-05-15 devnull if (prev != "") {
6 5cedca1b 2004-05-15 devnull # comments can be trouble (e.g. ffree())
7 5cedca1b 2004-05-15 devnull if ( (c = match(prev, /\/\*.*\*\/$/)) != 0 ) {
8 5cedca1b 2004-05-15 devnull comment = substr(prev, c)
9 5cedca1b 2004-05-15 devnull sub(/\/\*.*\*\/$/, "", prev)
10 5cedca1b 2004-05-15 devnull } else comment = ""
14 5cedca1b 2004-05-15 devnull # isolate argument list
15 5cedca1b 2004-05-15 devnull sub(/^[^(]*\(/, "", x)
16 5cedca1b 2004-05-15 devnull sub(/\)[^)]*$/, "", x)
18 5cedca1b 2004-05-15 devnull # find the names in it
19 5cedca1b 2004-05-15 devnull n = split(x, args)
20 5cedca1b 2004-05-15 devnull arglist = ""
21 5cedca1b 2004-05-15 devnull for (i = 2; i <= n; i += 2)
22 5cedca1b 2004-05-15 devnull arglist = arglist args[i]
23 5cedca1b 2004-05-15 devnull gsub(/\(\*f\)\(Tchar\)/, "f", arglist) # special case for n4.c
24 5cedca1b 2004-05-15 devnull gsub(/\[[0-9]+\]/, "", arglist) # for n8.c
25 5cedca1b 2004-05-15 devnull gsub(/[*()\[\]]/, "", arglist) # discard noise characters *()[]
26 5cedca1b 2004-05-15 devnull gsub(/,/, ", ", arglist) # space nicely
27 5cedca1b 2004-05-15 devnull sub(/\(.*\)/, "(" arglist ")", prev) # reconstruct
28 5cedca1b 2004-05-15 devnull print prev comment
30 5cedca1b 2004-05-15 devnull # argument declarations
31 5cedca1b 2004-05-15 devnull gsub(/,/, ";", x)
32 5cedca1b 2004-05-15 devnull gsub(/\(\*f\)\(Tchar\)/, "(*f)()", x) # special case for n4.c
33 5cedca1b 2004-05-15 devnull if (x != "")
34 5cedca1b 2004-05-15 devnull print "\t" x ";"
36 5cedca1b 2004-05-15 devnull prev = $0
40 5cedca1b 2004-05-15 devnull { print prev
41 5cedca1b 2004-05-15 devnull prev = $0
44 5cedca1b 2004-05-15 devnull END { print prev }