checkincludes.pl: close file as soon as we're done with it
[firefly-linux-kernel-4.4.55.git] / 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         close(FILE);
18         
19         foreach $filename (keys %includedfiles) {
20                 if ($includedfiles{$filename} > 1) {
21                         print "$file: $filename is included more than once.\n";
22                 }
23         }
24 }