Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block
[linux-2.6] / scripts / checkincludes.pl
1 #!/usr/bin/perl
2 #
3 # checkincludes: Find files included more than once in (other) files.
4 # Copyright abandoned, 2000, Niels Kristian Bech Jensen <nkbj@image.dk>.
5
6 foreach $file (@ARGV) {
7         open(FILE, $file) or die "Cannot open $file: $!.\n";
8
9         my %includedfiles = ();
10
11         while (<FILE>) {
12                 if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) {
13                         ++$includedfiles{$1};
14                 }
15         }
16         
17         foreach $filename (keys %includedfiles) {
18                 if ($includedfiles{$filename} > 1) {
19                         print "$file: $filename is included more than once.\n";
20                 }
21         }
22
23         close(FILE);
24 }