|
@@ -3254,6 +3254,20 @@ sub process {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+# if statements using unnecessary parentheses - ie: if ((foo == bar))
|
|
|
+ if ($^V && $^V ge 5.10.0 &&
|
|
|
+ $line =~ /\bif\s*((?:\(\s*){2,})/) {
|
|
|
+ my $openparens = $1;
|
|
|
+ my $count = $openparens =~ tr@\(@\(@;
|
|
|
+ my $msg = "";
|
|
|
+ if ($line =~ /\bif\s*(?:\(\s*){$count,$count}$LvalOrFunc\s*($Compare)\s*$LvalOrFunc(?:\s*\)){$count,$count}/) {
|
|
|
+ my $comp = $4; #Not $1 because of $LvalOrFunc
|
|
|
+ $msg = " - maybe == should be = ?" if ($comp eq "==");
|
|
|
+ WARN("UNNECESSARY_PARENTHESES",
|
|
|
+ "Unnecessary parentheses$msg\n" . $herecurr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
# Return of what appears to be an errno should normally be -'ve
|
|
|
if ($line =~ /^.\s*return\s*(E[A-Z]*)\s*;/) {
|
|
|
my $name = $1;
|