[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnurl] 101/264: checksrc: warn on obvious conditional blocks on the sam
From: |
gnunet |
Subject: |
[gnurl] 101/264: checksrc: warn on obvious conditional blocks on the same line as if() |
Date: |
Thu, 30 Apr 2020 16:06:44 +0200 |
This is an automated email from the git hooks/post-receive script.
nikita pushed a commit to branch master
in repository gnurl.
commit 529add48bc2a8e66bdbc1926e7708535dd5317a2
Author: Daniel Stenberg <address@hidden>
AuthorDate: Mon Mar 30 10:52:48 2020 +0200
checksrc: warn on obvious conditional blocks on the same line as if()
Closes #5164
---
lib/checksrc.pl | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/lib/checksrc.pl b/lib/checksrc.pl
index f7263c547..b074f2744 100755
--- a/lib/checksrc.pl
+++ b/lib/checksrc.pl
@@ -80,6 +80,7 @@ my %warnings = (
'MULTISPACE' => 'multiple spaces used when not suitable',
'SIZEOFNOPAREN' => 'use of sizeof without parentheses',
'SNPRINTF' => 'use of snprintf',
+ 'ONELINECONDITION' => 'conditional block on the same line as the if()',
);
sub readwhitelist {
@@ -457,13 +458,34 @@ sub scanfile {
}
}
- if($nostr =~ /^((.*)(if) *\()(.*)\)/) {
+ if($nostr =~ /^((.*\s)(if) *\()(.*)\)(.*)/) {
my $pos = length($1);
- if($4 =~ / = /) {
+ my $postparen = $5;
+ my $cond = $4;
+ if($cond =~ / = /) {
checkwarn("ASSIGNWITHINCONDITION",
$line, $pos+1, $file, $l,
"assignment within conditional expression");
}
+ my $temp = $cond;
+ $temp =~ s/\(//g; # remove open parens
+ my $openc = length($cond) - length($temp);
+
+ $temp = $cond;
+ $temp =~ s/\)//g; # remove close parens
+ my $closec = length($cond) - length($temp);
+ my $even = $openc == $closec;
+
+ if($l =~ / *\#/) {
+ # this is a #if, treat it differently
+ }
+ elsif($even && $postparen &&
+ ($postparen !~ /^ *$/) && ($postparen !~ /^ *[,{&|\\]+/)) {
+ print STDERR "5: '$postparen'\n";
+ checkwarn("ONELINECONDITION",
+ $line, length($l)-length($postparen), $file, $l,
+ "conditional block on the same line");
+ }
}
# check spaces after open parentheses
if($l =~ /^(.*[a-z])\( /i) {
--
To stop receiving notification emails like this one, please contact
address@hidden.
- [gnurl] 91/264: KNOWN_BUGS: "FTPS needs session reuse", (continued)
- [gnurl] 91/264: KNOWN_BUGS: "FTPS needs session reuse", gnunet, 2020/04/30
- [gnurl] 178/264: version: increase buffer space for ssl version output, gnunet, 2020/04/30
- [gnurl] 228/264: lib: fix typos in comments and errormessages, gnunet, 2020/04/30
- [gnurl] 37/264: test 970: verify --write-out '%{json}', gnunet, 2020/04/30
- [gnurl] 67/264: Revert "cirrus-ci: disable the FreeBSD 13 builds", gnunet, 2020/04/30
- [gnurl] 95/264: test1177: verify that all the CURL_VERSION_ bits are documented, gnunet, 2020/04/30
- [gnurl] 116/264: sockfilt: fix race-condition of waiting threads and event handling, gnunet, 2020/04/30
- [gnurl] 128/264: appveyor: use random test server ports based upon APPVEYOR_API_URL, gnunet, 2020/04/30
- [gnurl] 115/264: CI-fuzz: increase fuzz time to 40 minutes, gnunet, 2020/04/30
- [gnurl] 126/264: appveyor: show failed tests in log even if test is ignored, gnunet, 2020/04/30
- [gnurl] 101/264: checksrc: warn on obvious conditional blocks on the same line as if(),
gnunet <=
- [gnurl] 133/264: scripts/release-notes.pl: add helper script for RELEASE-NOTES maintenance, gnunet, 2020/04/30
- [gnurl] 132/264: configure: don't check for Security.framework when cross-compiling, gnunet, 2020/04/30
- [gnurl] 74/264: copyright: fix out-of-date copyright ranges and missing headers, gnunet, 2020/04/30
- [gnurl] 39/264: windows: suppress UI in all CryptAcquireContext() calls, gnunet, 2020/04/30
- [gnurl] 53/264: mbedtls: remove the BACKEND define kludge, gnunet, 2020/04/30
- [gnurl] 61/264: curl_setup: define _WIN32_WINNT_[OS] symbols, gnunet, 2020/04/30
- [gnurl] 55/264: test970: fix static ip:port instead of dynamic values being used, gnunet, 2020/04/30
- [gnurl] 84/264: SSLCERTS.md: Fix example code for setting CA cert file, gnunet, 2020/04/30
- [gnurl] 88/264: writeout_json: Fix data type issues, gnunet, 2020/04/30
- [gnurl] 93/264: KNOWN_BUGS: DoH doesn't inherit all transfer options, gnunet, 2020/04/30