All of lore.kernel.org
 help / color / mirror / Atom feed
* [Linux-kernel-mentees] [PATCH] checkpatch: add fix option and improve msg for BOOL_COMPARISON
@ 2020-12-09 10:58 Aditya Srivastava
  2020-12-09 11:47 ` Lukas Bulwahn
  0 siblings, 1 reply; 7+ messages in thread
From: Aditya Srivastava @ 2020-12-09 10:58 UTC (permalink / raw)
  To: lukas.bulwahn; +Cc: linux-kernel-mentees, yashsri421

Currently, checkpatch warns if the user compares expression with boolean.

E.g., running checkpatch on commit 3b3a1a0b7824 ("staging: rtl8723bs:
hal: Modify comparison to constant in rtl8723bs_xmit.c") reports:

CHECK: Using comparison to true is error prone
+	if (ret == true)

Provide a fix by replacing the expression with preferred expression. i.e.,

1) If the check is for a 'true' or 'not false' expression, the operand
will get replaced with empty string.

2) Else, the operand gets replaced with '!', and the arguments follow.

Suggested-by: Joe Perches <joe@perches.com>
Signed-off-by: Aditya Srivastava <yashsri421@gmail.com>
---
This fix is actually inspired from the comment mentioned in the script by Joe. I have added the Suggested-by line correspondingly.

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

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 8bd8e4518f7f..abd5a3d2e913 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -6973,8 +6973,11 @@ sub process {
 					$op = "";
 				}
 
-				CHK("BOOL_COMPARISON",
-				    "Using comparison to $otype is error prone\n" . $herecurr);
+				if (CHK("BOOL_COMPARISON",
+					"Using comparison to '$otype' is error prone. Perhaps use '${lead}${op}${arg}${trail}'\n" . $herecurr) &&
+				    $fix) {
+					$fixed[$fixlinenr] =~ s/\b(?:true|false|$Lval)\s*(?:==|\!=)\s*(?:true|false|$Lval)\b/$op$arg/;
+				}
 
 ## maybe suggesting a correct construct would better
 ##				    "Using comparison to $otype is error prone.  Perhaps use '${lead}${op}${arg}${trail}'\n" . $herecurr);
-- 
2.17.1

_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

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

end of thread, other threads:[~2021-02-06 14:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-09 10:58 [Linux-kernel-mentees] [PATCH] checkpatch: add fix option and improve msg for BOOL_COMPARISON Aditya Srivastava
2020-12-09 11:47 ` Lukas Bulwahn
2020-12-09 15:59   ` Aditya
2020-12-09 17:09     ` Lukas Bulwahn
2020-12-12  9:13       ` Aditya
2020-12-13  8:03         ` Lukas Bulwahn
2021-02-06 14:05           ` Aditya

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.