File: exports.pl

package info (click to toggle)
acm 5.0-23.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 8,364 kB
  • ctags: 4,793
  • sloc: ansic: 42,444; makefile: 706; cpp: 293; perl: 280; sh: 198
file content (29 lines) | stat: -rwxr-xr-x 536 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
opendir (dir, '.');
print "exports\n";
foreach $i (readdir(dir)) {
    next if ($i eq '.' || $i eq '..');
    if ($i =~ /\.C/ || $i =~ /\.c/) {
	print "; $i\n";
	open (file, $i) || die "unable to open $i: $!\n";
	$static = 0;
	while (<file>) {
	    if (/^static/) {
		$static = 1;
	    }
	    elsif (/^[a-z_A-Z].*\(/ ) {
		($name) = split ( /\s*\(/ );
		if ($static == 1) {
		    $static = 0;
		    next;
		}
		next if $name =~ /\s/;
		print "\t$name\n";
		$static = 0;
	    }
	    else {
		$static = 0;
	    }
	}
	close (file);
    }