[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210527214741.180449-1-borneo.antonio@gmail.com>
Date: Thu, 27 May 2021 23:47:41 +0200
From: Antonio Borneo <borneo.antonio@...il.com>
To: Andy Whitcroft <apw@...onical.com>, Joe Perches <joe@...ches.com>,
Dwaipayan Ray <dwaipayanray1@...il.com>,
Lukas Bulwahn <lukas.bulwahn@...il.com>
Cc: Antonio Borneo <borneo.antonio@...il.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH] checkpatch: fix incorrect camelcase detection on numeric constant
The code fragment below
int foo(int *array, int index)
{
return array[index & 0xFF];
}
triggers an incorrect camelcase detection by checking a subset of
the hex constant:
CHECK: Avoid CamelCase: <xFF>
#3: FILE: test.c:3:
+ return array[index & 0xFF];
This is caused by passing the whole string "array[index & 0xFF]"
to the inner loop that iterates over a "$Ident" match.
With no check to exclude a constant, the match iterates over
"array", "index" and "xFF", thus the camelcase detection.
Similar issue can be detected with other constants like "1uL",
"0xffffU".
Force the match to start at word boundary so the constants will be
filtered-out.
Signed-off-by: Antonio Borneo <borneo.antonio@...il.com>
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
To: Andy Whitcroft <apw@...onical.com>
To: Joe Perches <joe@...ches.com>
To: Dwaipayan Ray <dwaipayanray1@...il.com>
To: Lukas Bulwahn <lukas.bulwahn@...il.com>
Cc: linux-kernel@...r.kernel.org
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 23697a6b1eaa..f0032166dfc1 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5656,7 +5656,7 @@ sub process {
$var !~ /^(?:[a-z0-9_]*|[A-Z0-9_]*)?_?[a-z][A-Z](?:_[a-z0-9_]+|_[A-Z0-9_]+)?$/ &&
#Ignore some three character SI units explicitly, like MiB and KHz
$var !~ /^(?:[a-z_]*?)_?(?:[KMGT]iB|[KMGT]?Hz)(?:_[a-z_]+)?$/) {
- while ($var =~ m{($Ident)}g) {
+ while ($var =~ m{\b($Ident)}g) {
my $word = $1;
next if ($word !~ /[A-Z][a-z]|[a-z][A-Z]/);
if ($check) {
base-commit: c4681547bcce777daf576925a966ffa824edd09d
--
2.31.1
Powered by blists - more mailing lists