From: Daniel Stenberg Date: Mon, 24 Oct 2022 21:26:56 +0000 (+0200) Subject: scripts/checksrc.pl: detect duplicated include files X-Git-Tag: curl-7_87_0~235 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3678336b201730fc081cf11d52eaf9b0f641ee45;p=thirdparty%2Fcurl.git scripts/checksrc.pl: detect duplicated include files After an idea by Dan Fandrich in #9794 Closes #9796 --- diff --git a/scripts/checksrc.pl b/scripts/checksrc.pl index 651b4b7007..54cd30cd97 100755 --- a/scripts/checksrc.pl +++ b/scripts/checksrc.pl @@ -380,6 +380,7 @@ sub scanfile { my $incomment=0; my @copyright=(); + my %includes; checksrc_clear(); # for file based ignores accept_violations(); @@ -472,6 +473,15 @@ sub scanfile { $line, length($1), $file, $l, "\/\/ comment"); } + if($l =~ /^(\#\s*include\s+)([\">].*[>}"])/) { + my ($pre, $path) = ($1, $2); + if($includes{$path}) { + checkwarn("INCLUDEDUP", + $line, length($1), $file, $l, "duplicated include"); + } + $includes{$path} = $l; + } + # detect and strip preprocessor directives if($l =~ /^[ \t]*\#/) { # preprocessor line