From e56462d99240446339f250b2c7624dae7500f416 Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Tue, 10 May 2005 21:46:36 +0000 Subject: [PATCH] New file to look for duplicate includes. --- maint/dupincludes.pl | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 maint/dupincludes.pl diff --git a/maint/dupincludes.pl b/maint/dupincludes.pl new file mode 100755 index 000000000..bc8fa220b --- /dev/null +++ b/maint/dupincludes.pl @@ -0,0 +1,40 @@ +#!/usr/bin/env perl + +# Copyright (c) 2005, Pavel Roskin +# This script is Free Software, and it can be copied, distributed and +# modified under the terms of GNU General Public License, version 2. + +# Locate duplicate includes + +use strict; + +my %sys_includes; +my %loc_includes; + +if ($#ARGV != 0) { + print "Usage: dupincludes.pl file\n"; + exit 1; +} + +my $filename = $ARGV[0]; + +if (!open (FILE, "$filename")) { + print "Cannot open file \"$filename\"\n"; + exit 1; +} + +foreach () { + if (/^\s*#\s*include\s*<(.*)>/) { + if (defined $sys_includes{$1}) { + print "$filename: duplicate <$1>\n"; + } else { + $sys_includes{$1} = 1; + } + } elsif (/^\s*#\s*include\s*"(.*)"/) { + if (defined $loc_includes{$1}) { + print "$filename: duplicate \"$1\"\n"; + } else { + $loc_includes{$1} = 1; + } + } +}