diff options
Diffstat (limited to '')
-rwxr-xr-x | tools/check-includes.pl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/check-includes.pl b/tools/check-includes.pl new file mode 100755 index 0000000..c8bfcba --- /dev/null +++ b/tools/check-includes.pl @@ -0,0 +1,23 @@ +# SPDX-License-Identifier: CC0-1.0 +#!/usr/bin/env perl +# +# checkincludes: Find files included more than once in (other) files. + +foreach $file (@ARGV) { + open(FILE, $file) or die "Cannot open $file: $!.\n"; + + my %includedfiles = (); + + while (<FILE>) { + if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) { + ++$includedfiles{$1}; + } + } + foreach $filename (keys %includedfiles) { + if ($includedfiles{$filename} > 1) { + print "$file: $filename is included more than once.\n"; + } + } + + close(FILE); +} |