Commit 42bdf74c authored by Hidetoshi Seto's avatar Hidetoshi Seto Committed by Linus Torvalds

checkpatch: trivial fix for trailing statements check

In case if the statement and the conditional are in one line, the line
appears in the report doubly.

And items of this check have no blank line before the next item.

This patch fixes these trivial problems, to improve readability of the
report.

[sample.c]
  > if (cond1
  >        && cond2
  >        && cond3) func_foo();
  >
  > if (cond4) func_bar();

Before:
  > ERROR: trailing statements should be on next line
  > #1: FILE: sample.c:1:
  > +if (cond1
  > [...]
  > +       && cond3) func_foo();
  > ERROR: trailing statements should be on next line
  > #5: FILE: sample.c:5:
  > +if (cond4) func_bar();
  > +if (cond4) func_bar();
  > total: 2 errors, 0 warnings, 5 lines checked

After:
  > ERROR: trailing statements should be on next line
  > #1: FILE: sample.c:1:
  > +if (cond1
  > [...]
  > +       && cond3) func_foo();
  >
  > ERROR: trailing statements should be on next line
  > #5: FILE: sample.c:5:
  > +if (cond4) func_bar();
  >
  > total: 2 errors, 0 warnings, 5 lines checked
Signed-off-by: default avatarHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Cc: Andy Whitcroft <apw@canonical.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8f53a9b8
...@@ -2182,8 +2182,10 @@ sub process { ...@@ -2182,8 +2182,10 @@ sub process {
# Find out how long the conditional actually is. # Find out how long the conditional actually is.
my @newlines = ($c =~ /\n/gs); my @newlines = ($c =~ /\n/gs);
my $cond_lines = 1 + $#newlines; my $cond_lines = 1 + $#newlines;
my $stat_real = '';
my $stat_real = raw_line($linenr, $cond_lines); $stat_real = raw_line($linenr, $cond_lines)
. "\n" if ($cond_lines);
if (defined($stat_real) && $cond_lines > 1) { if (defined($stat_real) && $cond_lines > 1) {
$stat_real = "[...]\n$stat_real"; $stat_real = "[...]\n$stat_real";
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment