Commit e3d95a2a authored by Tobin C. Harding's avatar Tobin C. Harding Committed by Linus Torvalds

checkpatch: add sub routine get_stat_here()

checkpatch currently contains duplicate code.  We can define a sub
routine and call that instead.  This reduces code duplication and line
count.

Add subroutine get_stat_here().

Link: http://lkml.kernel.org/r/1519700648-23108-4-git-send-email-me@tobin.ccSigned-off-by: default avatarTobin C. Harding <me@tobin.cc>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c2066ca3
...@@ -1656,6 +1656,17 @@ sub get_stat_real { ...@@ -1656,6 +1656,17 @@ sub get_stat_real {
return $stat_real; return $stat_real;
} }
sub get_stat_here {
my ($linenr, $cnt, $here) = @_;
my $herectx = $here . "\n";
for (my $n = 0; $n < $cnt; $n++) {
$herectx .= raw_line($linenr, $n) . "\n";
}
return $herectx;
}
sub cat_vet { sub cat_vet {
my ($vet) = @_; my ($vet) = @_;
my ($res, $coded); my ($res, $coded);
...@@ -4967,12 +4978,8 @@ sub process { ...@@ -4967,12 +4978,8 @@ sub process {
#print "REST<$rest> dstat<$dstat> ctx<$ctx>\n"; #print "REST<$rest> dstat<$dstat> ctx<$ctx>\n";
$ctx =~ s/\n*$//; $ctx =~ s/\n*$//;
my $herectx = $here . "\n";
my $stmt_cnt = statement_rawlines($ctx); my $stmt_cnt = statement_rawlines($ctx);
my $herectx = get_stat_here($linenr, $stmt_cnt, $here);
for (my $n = 0; $n < $stmt_cnt; $n++) {
$herectx .= raw_line($linenr, $n) . "\n";
}
if ($dstat ne '' && if ($dstat ne '' &&
$dstat !~ /^(?:$Ident|-?$Constant),$/ && # 10, // foo(), $dstat !~ /^(?:$Ident|-?$Constant),$/ && # 10, // foo(),
...@@ -5044,12 +5051,9 @@ sub process { ...@@ -5044,12 +5051,9 @@ sub process {
# check for macros with flow control, but without ## concatenation # check for macros with flow control, but without ## concatenation
# ## concatenation is commonly a macro that defines a function so ignore those # ## concatenation is commonly a macro that defines a function so ignore those
if ($has_flow_statement && !$has_arg_concat) { if ($has_flow_statement && !$has_arg_concat) {
my $herectx = $here . "\n";
my $cnt = statement_rawlines($ctx); my $cnt = statement_rawlines($ctx);
my $herectx = get_stat_here($linenr, $cnt, $here);
for (my $n = 0; $n < $cnt; $n++) {
$herectx .= raw_line($linenr, $n) . "\n";
}
WARN("MACRO_WITH_FLOW_CONTROL", WARN("MACRO_WITH_FLOW_CONTROL",
"Macros with flow control statements should be avoided\n" . "$herectx"); "Macros with flow control statements should be avoided\n" . "$herectx");
} }
...@@ -5089,11 +5093,7 @@ sub process { ...@@ -5089,11 +5093,7 @@ sub process {
$ctx =~ s/\n*$//; $ctx =~ s/\n*$//;
my $cnt = statement_rawlines($ctx); my $cnt = statement_rawlines($ctx);
my $herectx = $here . "\n"; my $herectx = get_stat_here($linenr, $cnt, $here);
for (my $n = 0; $n < $cnt; $n++) {
$herectx .= raw_line($linenr, $n) . "\n";
}
if (($stmts =~ tr/;/;/) == 1 && if (($stmts =~ tr/;/;/) == 1 &&
$stmts !~ /^\s*(if|while|for|switch)\b/) { $stmts !~ /^\s*(if|while|for|switch)\b/) {
...@@ -5107,11 +5107,7 @@ sub process { ...@@ -5107,11 +5107,7 @@ sub process {
} elsif ($dstat =~ /^\+\s*#\s*define\s+$Ident.*;\s*$/) { } elsif ($dstat =~ /^\+\s*#\s*define\s+$Ident.*;\s*$/) {
$ctx =~ s/\n*$//; $ctx =~ s/\n*$//;
my $cnt = statement_rawlines($ctx); my $cnt = statement_rawlines($ctx);
my $herectx = $here . "\n"; my $herectx = get_stat_here($linenr, $cnt, $here);
for (my $n = 0; $n < $cnt; $n++) {
$herectx .= raw_line($linenr, $n) . "\n";
}
WARN("TRAILING_SEMICOLON", WARN("TRAILING_SEMICOLON",
"macros should not use a trailing semicolon\n" . "$herectx"); "macros should not use a trailing semicolon\n" . "$herectx");
...@@ -5234,12 +5230,8 @@ sub process { ...@@ -5234,12 +5230,8 @@ sub process {
} }
} }
if ($level == 0 && $block =~ /^\s*\{/ && !$allowed) { if ($level == 0 && $block =~ /^\s*\{/ && !$allowed) {
my $herectx = $here . "\n";
my $cnt = statement_rawlines($block); my $cnt = statement_rawlines($block);
my $herectx = get_stat_here($linenr, $cnt, $here);
for (my $n = 0; $n < $cnt; $n++) {
$herectx .= raw_line($linenr, $n) . "\n";
}
WARN("BRACES", WARN("BRACES",
"braces {} are not necessary for single statement blocks\n" . $herectx); "braces {} are not necessary for single statement blocks\n" . $herectx);
...@@ -6096,11 +6088,9 @@ sub process { ...@@ -6096,11 +6088,9 @@ sub process {
} }
if ($r1 !~ /^sizeof\b/ && $r2 =~ /^sizeof\s*\S/ && if ($r1 !~ /^sizeof\b/ && $r2 =~ /^sizeof\s*\S/ &&
!($r1 =~ /^$Constant$/ || $r1 =~ /^[A-Z_][A-Z0-9_]*$/)) { !($r1 =~ /^$Constant$/ || $r1 =~ /^[A-Z_][A-Z0-9_]*$/)) {
my $herectx = $here . "\n";
my $cnt = statement_rawlines($stat); my $cnt = statement_rawlines($stat);
for (my $n = 0; $n < $cnt; $n++) { my $herectx = get_stat_here($linenr, $cnt, $here);
$herectx .= raw_line($linenr, $n) . "\n";
}
if (WARN("ALLOC_WITH_MULTIPLY", if (WARN("ALLOC_WITH_MULTIPLY",
"Prefer $newfunc over $oldfunc with multiply\n" . $herectx) && "Prefer $newfunc over $oldfunc with multiply\n" . $herectx) &&
$cnt == 1 && $cnt == 1 &&
...@@ -6183,11 +6173,9 @@ sub process { ...@@ -6183,11 +6173,9 @@ sub process {
if ($^V && $^V ge 5.10.0 && if ($^V && $^V ge 5.10.0 &&
defined $stat && defined $stat &&
$stat =~ /^\+[$;\s]*(?:case[$;\s]+\w+[$;\s]*:[$;\s]*|)*[$;\s]*\bdefault[$;\s]*:[$;\s]*;/g) { $stat =~ /^\+[$;\s]*(?:case[$;\s]+\w+[$;\s]*:[$;\s]*|)*[$;\s]*\bdefault[$;\s]*:[$;\s]*;/g) {
my $herectx = $here . "\n";
my $cnt = statement_rawlines($stat); my $cnt = statement_rawlines($stat);
for (my $n = 0; $n < $cnt; $n++) { my $herectx = get_stat_here($linenr, $cnt, $here);
$herectx .= raw_line($linenr, $n) . "\n";
}
WARN("DEFAULT_NO_BREAK", WARN("DEFAULT_NO_BREAK",
"switch default: should use break\n" . $herectx); "switch default: should use break\n" . $herectx);
} }
......
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