1#!/usr/bin/perl
2#
3# Goes through the input line by line to find K&R style function
4# declarations, and replaces them with ANSI style declarations.
5#
6@blah = <>;
7
8for ($i = 0; $i < @blah; $i++)
9{
10	if ($blah[$i] =~ /^([a-zA-Z_0-9]+)\s*\([^)]+\)\s*$/)
11	{
12		$name = $1;
13		$funci = $i;
14		$blah[$funci]="$name (";
15		$i++;
16		$lastline = $i;
17		while ($lastline < @blah && $blah[$lastline] !~ /^{/)
18		{
19			$lastline++;
20		}
21		$lastline--;
22		while ($i < @blah && $blah[$i] !~ /^{/)
23		{
24			$arg = $blah[$i];
25			if ($i != $lastline)
26			{
27				$arg =~ s/;/,/g;
28			}
29			else
30			{
31				$arg =~ s/;//g;
32			}
33			$blah[$i] = "";
34			$blah[$funci] = "$blah[$funci]" . "$arg";
35			$i++;
36		}
37		$blah[$funci] = "$blah[$funci]" . ")\n";
38	}
39}
40
41for ($i = 0; $i < @blah; $i++)
42{
43	print $blah[$i];
44}
45
46