mirror of
https://github.com/torvalds/linux.git
synced 2025-11-01 09:09:47 +02:00
checkpatch: add --fix option for a couple OPEN_BRACE misuses
Style misuses of these types are corrected:
typedef struct foo
{
int bar;
};
int foo(int bar) { return bar+1;
}
int foo(int bar) {
return bar+1;
}
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:
parent
bd474ca076
commit
8d1824780f
1 changed files with 28 additions and 5 deletions
|
|
@ -3164,17 +3164,40 @@ sub process {
|
|||
|
||||
# function brace can't be on same line, except for #defines of do while,
|
||||
# or if closed on same line
|
||||
if (($line=~/$Type\s*$Ident\(.*\).*\s{/) and
|
||||
if (($line=~/$Type\s*$Ident\(.*\).*\s*{/) and
|
||||
!($line=~/\#\s*define.*do\s{/) and !($line=~/}/)) {
|
||||
ERROR("OPEN_BRACE",
|
||||
"open brace '{' following function declarations go on the next line\n" . $herecurr);
|
||||
if (ERROR("OPEN_BRACE",
|
||||
"open brace '{' following function declarations go on the next line\n" . $herecurr) &&
|
||||
$fix) {
|
||||
fix_delete_line($fixlinenr, $rawline);
|
||||
my $fixed_line = $rawline;
|
||||
$fixed_line =~ /(^..*$Type\s*$Ident\(.*\)\s*){(.*)$/;
|
||||
my $line1 = $1;
|
||||
my $line2 = $2;
|
||||
fix_insert_line($fixlinenr, ltrim($line1));
|
||||
fix_insert_line($fixlinenr, "\+{");
|
||||
if ($line2 !~ /^\s*$/) {
|
||||
fix_insert_line($fixlinenr, "\+\t" . trim($line2));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# open braces for enum, union and struct go on the same line.
|
||||
if ($line =~ /^.\s*{/ &&
|
||||
$prevline =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?\s*$/) {
|
||||
ERROR("OPEN_BRACE",
|
||||
"open brace '{' following $1 go on the same line\n" . $hereprev);
|
||||
if (ERROR("OPEN_BRACE",
|
||||
"open brace '{' following $1 go on the same line\n" . $hereprev) &&
|
||||
$fix && $prevline =~ /^\+/ && $line =~ /^\+/) {
|
||||
fix_delete_line($fixlinenr - 1, $prevrawline);
|
||||
fix_delete_line($fixlinenr, $rawline);
|
||||
my $fixedline = rtrim($prevrawline) . " {";
|
||||
fix_insert_line($fixlinenr, $fixedline);
|
||||
$fixedline = $rawline;
|
||||
$fixedline =~ s/^(.\s*){\s*/$1\t/;
|
||||
if ($fixedline !~ /^\+\s*$/) {
|
||||
fix_insert_line($fixlinenr, $fixedline);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# missing space after union, struct or enum definition
|
||||
|
|
|
|||
Loading…
Reference in a new issue