checkpatch: add fix_insert_line and fix_delete_line helpers

Neaten the uses of patch/file line insertions or deletions.  Hide the
mechanism used.

Signed-off-by: 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:
Joe Perches 2014-08-06 16:11:07 -07:00 committed by Linus Torvalds
parent d752fcc88b
commit f2d7e4d439

View File

@ -1593,6 +1593,27 @@ sub fix_inserted_deleted_lines {
return @lines;
}
sub fix_insert_line {
my ($linenr, $line) = @_;
my $inserted = {
LINENR => $linenr,
LINE => $line,
};
push(@fixed_inserted, $inserted);
}
sub fix_delete_line {
my ($linenr, $line) = @_;
my $deleted = {
LINENR => $linenr,
LINE => $line,
};
push(@fixed_deleted, $deleted);
}
sub ERROR {
my ($type, $msg) = @_;
@ -2447,11 +2468,7 @@ sub process {
if (CHK("LINE_SPACING",
"Please use a blank line after function/struct/union/enum declarations\n" . $hereprev) &&
$fix) {
my $inserted = {
LINENR => $fixlinenr,
LINE => "\+",
};
push(@fixed_inserted, $inserted);
fix_insert_line($fixlinenr, "\+");
}
}
@ -2462,11 +2479,7 @@ sub process {
if (CHK("LINE_SPACING",
"Please don't use multiple blank lines\n" . $hereprev) &&
$fix) {
my $deleted = {
LINENR => $fixlinenr,
LINE => $rawline,
};
push(@fixed_deleted, $deleted);
fix_delete_line($fixlinenr, $rawline);
}
$last_blank_line = $linenr;
@ -2509,11 +2522,7 @@ sub process {
if (WARN("LINE_SPACING",
"Missing a blank line after declarations\n" . $hereprev) &&
$fix) {
my $inserted = {
LINENR => $fixlinenr,
LINE => "\+",
};
push(@fixed_inserted, $inserted);
fix_insert_line($fixlinenr, "\+");
}
}
@ -2868,31 +2877,15 @@ sub process {
$prevline =~ /(?:^|[^=])=\s*$/) {
if (ERROR("OPEN_BRACE",
"that open brace { should be on the previous line\n" . $hereprev) &&
$fix && $prevline =~ /^\+/) {
my $deleted = {
LINENR => $fixlinenr - 1,
LINE => $prevrawline,
};
push(@fixed_deleted, $deleted);
$deleted = {
LINENR => $fixlinenr,
LINE => $rawline,
};
push(@fixed_deleted, $deleted);
$fix && $prevline =~ /^\+/ && $line =~ /^\+/) {
fix_delete_line($fixlinenr - 1, $prevrawline);
fix_delete_line($fixlinenr, $rawline);
my $fixedline = $prevrawline;
$fixedline =~ s/\s*=\s*$/ = {/;
my $inserted = {
LINENR => $fixlinenr,
LINE => $fixedline,
};
push(@fixed_inserted, $inserted);
fix_insert_line($fixlinenr, $fixedline);
$fixedline = $line;
$fixedline =~ s/^(.\s*){\s*/$1/;
$inserted = {
LINENR => $fixlinenr,
LINE => $fixedline,
};
push(@fixed_inserted, $inserted);
fix_insert_line($fixlinenr, $fixedline);
}
}