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.cc Signed-off-by: Tobin C. Harding <me@tobin.cc> Cc: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
c2066ca350
Коммит
e3d95a2a05
|
@ -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 {
|
||||||
#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 {
|
||||||
# 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 {
|
||||||
|
|
||||||
$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 {
|
||||||
} 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 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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 {
|
||||||
}
|
}
|
||||||
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 {
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче