This way :make syntax-check in ViM will point you at the offending line.
my $file = " ";
my $ret = 0;
my %includes = ( );
+my $lineno = 0;
while (<>) {
if (not $file eq $ARGV) {
%includes = ( );
$file = $ARGV;
+ $lineno = 0;
}
+ $lineno++;
if (/^# *include *[<"]([^>"]*\.h)[">]/) {
$includes{$1}++;
if ($includes{$1} == 2) {
$ret = 1;
- print STDERR "$1 included multiple times in $ARGV\n";
+ print STDERR "$ARGV:$lineno: $_";
+ print STDERR "Do not include a header more than once per file\n";
}
}
}