
awk '

/^{/ {
	if (prev != "") {
		# comments can be trouble (e.g. ffree())
		if ( (c = match(prev, /\/\*.*\*\/$/)) != 0 ) {
			comment = substr(prev, c)
			sub(/\/\*.*\*\/$/, "", prev)
		} else comment = ""

		x = prev

		# isolate argument list
		sub(/^[^(]*\(/, "", x)
		sub(/\)[^)]*$/, "", x)

		# find the names in it
		n = split(x, args)
		arglist = ""
		for (i = 2; i <= n; i += 2)
			arglist = arglist args[i]
		gsub(/\(\*f\)\(Tchar\)/, "f", arglist)	# special case for n4.c
		gsub(/\[[0-9]+\]/, "", arglist)		#     for n8.c
		gsub(/[*()\[\]]/, "", arglist)		# discard noise characters *()[]
		gsub(/,/, ", ", arglist)		# space nicely
		sub(/\(.*\)/, "(" arglist ")", prev)	# reconstruct
		print prev comment

		# argument declarations
		gsub(/,/, ";", x)
		gsub(/\(\*f\)\(Tchar\)/, "(*f)()", x)	# special case for n4.c
		if (x != "")
			print "\t" x ";"
	}
	prev = $0
	next
}

{	print prev
	prev = $0
}

END { print prev }
' $*
