linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] checkpatch: add fix option for LOGICAL_CONTINUATIONS
@ 2020-11-21 12:15 Aditya Srivastava
  2020-11-21 16:56 ` Joe Perches
  0 siblings, 1 reply; 14+ messages in thread
From: Aditya Srivastava @ 2020-11-21 12:15 UTC (permalink / raw)
  To: joe; +Cc: yashsri421, lukas.bulwahn, linux-kernel-mentees, linux-kernel

Currently, checkpatch warns if logical continuations are placed at the
start of a line and not at the end of previous line.

E.g., running checkpatch on commit 3485507fc272 ("staging:
bcm2835-camera: Reduce length of enum names") reports:

CHECK:LOGICAL_CONTINUATIONS: Logical continuations should be on the
previous line
+	if (!ret
+	    && camera_port ==

Provide a simple fix by adding logical operator at the end of previous
line and removing from current line, if both the lines are additions
(ie start with '+')

Signed-off-by: Aditya Srivastava <yashsri421@gmail.com>
---
changes in v2: quote $operator at substitution

 scripts/checkpatch.pl | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 5b1a5a65e69a..7cb8942b6a16 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3553,8 +3553,14 @@ sub process {
 
 # check for && or || at the start of a line
 		if ($rawline =~ /^\+\s*(&&|\|\|)/) {
-			CHK("LOGICAL_CONTINUATIONS",
-			    "Logical continuations should be on the previous line\n" . $hereprev);
+			my $operator = $1;
+			if (CHK("LOGICAL_CONTINUATIONS",
+				"Logical continuations should be on the previous line\n" . $hereprev) &&
+			    $fix && $prevrawline =~ /^\+/) {
+				# add logical operator to the previous line, remove from current line
+				$fixed[$fixlinenr - 1] .= " $operator";
+				$fixed[$fixlinenr] =~ s/\Q$operator\E\s*//;
+			}
 		}
 
 # check indentation starts on a tab stop
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-11-29 22:28 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-21 12:15 [PATCH v2] checkpatch: add fix option for LOGICAL_CONTINUATIONS Aditya Srivastava
2020-11-21 16:56 ` Joe Perches
2020-11-21 18:13   ` [PATCH v3] " Aditya Srivastava
2020-11-21 18:34     ` Joe Perches
2020-11-21 21:04       ` [PATCH v4] " Aditya Srivastava
2020-11-22  2:37         ` Joe Perches
2020-11-22 11:10           ` [PATCH v5] " Aditya Srivastava
2020-11-22 11:31             ` Joe Perches
2020-11-22 11:32             ` Joe Perches
2020-11-22 12:59               ` [PATCH v6] " Aditya Srivastava
2020-11-23  5:47                 ` Joe Perches
2020-11-23 10:28                   ` [PATCH v7] " Aditya Srivastava
2020-11-29  8:55                     ` Aditya
2020-11-29 22:27                       ` Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).