forked from Minki/linux
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
@ -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 New Issue
Block a user