blob: 4bff13985ebdc7e56715b098daca17cb08463d24 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#!/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
Luis R. Rodriguezf9d490a2009-09-18 12:49:26 -07006sub usage {
7 print "Usage: checkincludes.pl <file list>\n";
8 exit 1;
9}
10
11if ($#ARGV < 0) {
12 usage();
13}
14
Linus Torvalds1da177e2005-04-16 15:20:36 -070015foreach $file (@ARGV) {
16 open(FILE, $file) or die "Cannot open $file: $!.\n";
17
18 my %includedfiles = ();
19
20 while (<FILE>) {
21 if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) {
22 ++$includedfiles{$1};
23 }
24 }
Luis R. Rodriguezd9a7a2b2009-09-18 12:49:25 -070025
26 close(FILE);
Linus Torvalds1da177e2005-04-16 15:20:36 -070027
28 foreach $filename (keys %includedfiles) {
29 if ($includedfiles{$filename} > 1) {
30 print "$file: $filename is included more than once.\n";
31 }
32 }
Linus Torvalds1da177e2005-04-16 15:20:36 -070033}