Messages in this thread Patch in this message | | | Subject | [PATCH] checkpatch: Add test for assignment at start of line | From | Joe Perches <> | Date | Wed, 28 Mar 2018 15:22:06 -0700 |
| |
Kernel style seems to prefer line wrapping an assignment with the assignment operator on the previous line like:
<leading tabs> identifier = expression; over <leading tabs> identifier = expression;
somewhere around a 50:1 ratio
$ git grep -P "[^=]=\s*$" -- "*.[ch]" | wc -l 52008 $ git grep -P "^\s+[\*\/\+\|\%\-]?=[^=>]" | wc -l 1161
So add a --strict test for that condition.
Signed-off-by: Joe Perches <joe@perches.com> --- scripts/checkpatch.pl | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 5fe361e1ed5e..af2b73f19605 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3062,6 +3062,12 @@ sub process { } } +# check for assignments on the start of a line + if ($sline =~ /^\+\s+($Assignment)[^=]/) { + CHK("ASSIGNMENT_CONTINUATIONS", + "Assignment operator '$1' should be on the previous line\n" . $hereprev); + } + # check for && or || at the start of a line if ($rawline =~ /^\+\s*(&&|\|\|)/) { CHK("LOGICAL_CONTINUATIONS",
| |