Re: [BUG] checkpatch: false positive for commits with quote characters

From: Joe Perches
Date: Thu Dec 03 2015 - 19:29:47 EST


On Thu, 2015-12-03 at 16:13 -0800, Brian Norris wrote:
> Ping? I've hit some different false positives today on the same rule.
> I'll stop bothering to report them if no one cares.

Perhaps this:
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 9f0949b..196b77b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2397,22 +2397,26 @@ sub process {
  $long = 1 if ($line =~ /\bcommit\s+[0-9a-f]{41,}/i);
  $space = 0 if ($line =~ /\bcommit [0-9a-f]/i);
  $case = 0 if ($line =~ /\b[Cc]ommit\s+[0-9a-f]{5,40}[^A-F]/);
- if ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("([^"]+)"\)/i) {
+ if ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("(.*)"\)/i) {
  $orig_desc = $1;
  $hasparens = 1;
+ print("here1\n");
  } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s*$/i &&
   defined $rawlines[$linenr] &&
-  $rawlines[$linenr] =~ /^\s*\("([^"]+)"\)/) {
+  $rawlines[$linenr] =~ /^\s*\("(.*)"\)/) {
  $orig_desc = $1;
  $hasparens = 1;
+ print("here2\n");
  } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("[^"]+$/i &&
   defined $rawlines[$linenr] &&
-  $rawlines[$linenr] =~ /^\s*[^"]+"\)/) {
+  $rawlines[$linenr] =~ /^\s*.*"\)/) {
  $line =~ /\bcommit\s+[0-9a-f]{5,}\s+\("([^"]+)$/i;
  $orig_desc = $1;
- $rawlines[$linenr] =~ /^\s*([^"]+)"\)/;
+ $rawlines[$linenr] =~ /^\s*(.*)"\)/;
  $orig_desc .= " " . $1;
  $hasparens = 1;
+ print("orig_desc: <$orig_desc>\n");
+ print("here3\n");
  }
 
  ($id, $description) = git_commit_info($orig_commit,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/