[PATCH v4 1/4] checkpatch: Support wide strings

Simon Glass sjg at chromium.org
Sat Jan 22 02:27:33 CET 2022


From: Joe Perches <joe at perches.com>

Allow prefixing typical strings with L for wide strings and u for
unicode strings.

Signed-off-by: Joe Perches <joe at perches.com>
Signed-off-by: Simon Glass <sjg at chromium.org>
---
This was found on LKML:

https://lore.kernel.org/lkml/1508280192.6530.31.camel@perches.com/T/

It likely wasn't applied because it did not show up in patchwork
correctly, due to the patch being inline:

https://lore.kernel.org/patchwork/patch/842121/

In any case, it needed rebasing and updating to support 'u'.

I sent this upstream:

https://lore.kernel.org/patchwork/patch/1470668/

(no changes since v3)

Changes in v3:
- Mention the link to the new upstream patch

Changes in v2:
- Add new patch to reduce checkpatch unicode-string spam

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

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index cf59e2bb705..c1307f4361c 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -504,7 +504,7 @@ our $Binary	= qr{(?i)0b[01]+$Int_type?};
 our $Hex	= qr{(?i)0x[0-9a-f]+$Int_type?};
 our $Int	= qr{[0-9]+$Int_type?};
 our $Octal	= qr{0[0-7]+$Int_type?};
-our $String	= qr{"[X\t]*"};
+our $String	= qr{(?:\b[Lu])?"[X\t]*"};
 our $Float_hex	= qr{(?i)0x[0-9a-f]+p-?[0-9]+[fl]?};
 our $Float_dec	= qr{(?i)(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:e-?[0-9]+)?[fl]?};
 our $Float_int	= qr{(?i)[0-9]+e-?[0-9]+[fl]?};
@@ -6242,7 +6242,8 @@ sub process {
 		}
 
 # concatenated string without spaces between elements
-		if ($line =~ /$String[A-Za-z0-9_]/ || $line =~ /[A-Za-z0-9_]$String/) {
+		if ($line =~ /$String[A-Z_]/ ||
+		    ($line =~ /([A-Za-z0-9_]+)$String/ && $1 !~ /^[Lu]$/)) {
 			if (CHK("CONCATENATED_STRING",
 				"Concatenated strings should use spaces between elements\n" . $herecurr) &&
 			    $fix) {
@@ -6255,7 +6256,7 @@ sub process {
 		}
 
 # uncoalesced string fragments
-		if ($line =~ /$String\s*"/) {
+		if ($line =~ /$String\s*[Lu]?"/) {
 			if (WARN("STRING_FRAGMENTS",
 				 "Consecutive strings are generally better as a single string\n" . $herecurr) &&
 			    $fix) {
-- 
2.35.0.rc0.227.g00780c9af4-goog



More information about the U-Boot mailing list