The patch titled Subject: checkpatch: add --fix for CONCATENATED_STRING and STRING_FRAGMENTS has been added to the -mm tree. Its filename is checkpatch-add-fix-for-concatenated_string-and-string_fragments.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/checkpatch-add-fix-for-concatenated_string-and-string_fragments.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/checkpatch-add-fix-for-concatenated_string-and-string_fragments.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Joe Perches <joe@xxxxxxxxxxx> Subject: checkpatch: add --fix for CONCATENATED_STRING and STRING_FRAGMENTS Add the ability to --fix these string issues. e.g.: printk(KERN_INFO"bar" "baz"QUX); converts to printk(KERN_INFO "barbaz" QUX); Link: http://lkml.kernel.org/r/a9fb505ccfedffc5869d08832a7ff05a21d85621.camel@xxxxxxxxxxx Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- diff -puN scripts/checkpatch.pl~checkpatch-add-fix-for-concatenated_string-and-string_fragments scripts/checkpatch.pl --- a/scripts/checkpatch.pl~checkpatch-add-fix-for-concatenated_string-and-string_fragments +++ a/scripts/checkpatch.pl @@ -5336,15 +5336,28 @@ sub process { } # concatenated string without spaces between elements - if ($line =~ /$String[A-Z_]/ || $line =~ /[A-Za-z0-9_]$String/) { - CHK("CONCATENATED_STRING", - "Concatenated strings should use spaces between elements\n" . $herecurr); + if ($line =~ /$String[A-Za-z0-9_]/ || $line =~ /[A-Za-z0-9_]$String/) { + if (CHK("CONCATENATED_STRING", + "Concatenated strings should use spaces between elements\n" . $herecurr) && + $fix) { + while ($line =~ /($String)/g) { + my $extracted_string = substr($rawline, $-[0], $+[0] - $-[0]); + $fixed[$fixlinenr] =~ s/\Q$extracted_string\E([A-Za-z0-9_])/$extracted_string $1/; + $fixed[$fixlinenr] =~ s/([A-Za-z0-9_])\Q$extracted_string\E/$1 $extracted_string/; + } + } } # uncoalesced string fragments if ($line =~ /$String\s*"/) { - WARN("STRING_FRAGMENTS", - "Consecutive strings are generally better as a single string\n" . $herecurr); + if (WARN("STRING_FRAGMENTS", + "Consecutive strings are generally better as a single string\n" . $herecurr) && + $fix) { + while ($line =~ /($String)(?=\s*")/g) { + my $extracted_string = substr($rawline, $-[0], $+[0] - $-[0]); + $fixed[$fixlinenr] =~ s/\Q$extracted_string\E\s*"/substr($extracted_string, 0, -1)/e; + } + } } # check for non-standard and hex prefixed decimal printf formats _ Patches currently in -mm which might be from joe@xxxxxxxxxxx are scripts-use-spdx-tag-in-get_maintainer-and-checkpatch.patch get_maintainer-improve-patch-recognition.patch checkpatch-add-a-strict-test-for-structs-with-bool-member-definitions.patch checkpatch-improve-patch-recognition.patch checkpatch-improve-patch-recognition-fix.patch checkpatch-add-fix-for-concatenated_string-and-string_fragments.patch mm-use-octal-not-symbolic-permissions.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html