From: David Ertman <[email protected]>

Using the intuitive breaking of a ternary operator used in the
initialization of a variable in its declaration:

type var = FOO ?
           BAR :
           FEE;

is causing a checkpatch warning:
"WARNING:SPACING: networking uses a blank line after declarations"

Checkpatch is checking for the ternary operators at the beginning of the
lines after the initial break like the following:

type var = FOO
           ? BAR
           : FEE;

Change checkpatch so that it is checking fot the correct breaking of ternary
operators used in networking variable declaration/initialization.

Signed-off-by: Dave Ertman <[email protected]>
Tested-by: Aaron Brown <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
---
 scripts/checkpatch.pl | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 34eb216..baabf1c 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2269,12 +2269,13 @@ sub process {
                if ($realfile =~ m@^(drivers/net/|net/)@ &&
                    $prevline =~ /^\+\s+$Declare\s+$Ident/ &&
                    !($prevline =~ /(?:$Compare|$Assignment|$Operators)\s*$/ ||
-                     $prevline =~ /(?:\{\s*|\\)$/) &&          #extended lines
+                     $prevline =~ /(?:\{\s*|\\)$/ ||           #extended lines
+                     $prevline =~ /(?:[\?\:])$/) &&            #ternary ops
                    $sline =~ /^\+\s+/ &&                       #Not at char 1
                    !($sline =~ /^\+\s+$Declare/ ||
                      $sline =~ /^\+\s+$Ident\s+$Ident/ ||      #eg: typedef foo
                      $sline =~ /^\+\s+(?:union|struct|enum|typedef)\b/ ||
-                     $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(])/ ||
+                     $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\(])/ ||
                      $sline =~ 
/^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/)) {
                        WARN("SPACING",
                             "networking uses a blank line after 
declarations\n" . $hereprev);
-- 
1.9.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to