checkpatch: fix brace style misuses of else and while
Add --fix corrections for ELSE_AFTER_BRACE and WHILE_AFTER_BRACE misuses. if (x) { ... } else { ... } is corrected to if (x) { ... } else { ... } and do { ... } while (x); is corrected to do { ... } while (x); 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
8d1824780f
commit
8b8856f4b1
1 changed files with 30 additions and 8 deletions
|
@ -3885,14 +3885,26 @@ sub process {
|
|||
|
||||
# Check for }<nl>else {, these must be at the same
|
||||
# indent level to be relevant to each other.
|
||||
if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ and
|
||||
$previndent == $indent) {
|
||||
ERROR("ELSE_AFTER_BRACE",
|
||||
"else should follow close brace '}'\n" . $hereprev);
|
||||
if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ &&
|
||||
$previndent == $indent) {
|
||||
if (ERROR("ELSE_AFTER_BRACE",
|
||||
"else should follow close brace '}'\n" . $hereprev) &&
|
||||
$fix && $prevline =~ /^\+/ && $line =~ /^\+/) {
|
||||
fix_delete_line($fixlinenr - 1, $prevrawline);
|
||||
fix_delete_line($fixlinenr, $rawline);
|
||||
my $fixedline = $prevrawline;
|
||||
$fixedline =~ s/}\s*$//;
|
||||
if ($fixedline !~ /^\+\s*$/) {
|
||||
fix_insert_line($fixlinenr, $fixedline);
|
||||
}
|
||||
$fixedline = $rawline;
|
||||
$fixedline =~ s/^(.\s*)else/$1} else/;
|
||||
fix_insert_line($fixlinenr, $fixedline);
|
||||
}
|
||||
}
|
||||
|
||||
if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ and
|
||||
$previndent == $indent) {
|
||||
if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ &&
|
||||
$previndent == $indent) {
|
||||
my ($s, $c) = ctx_statement_block($linenr, $realcnt, 0);
|
||||
|
||||
# Find out what is on the end of the line after the
|
||||
|
@ -3901,8 +3913,18 @@ sub process {
|
|||
$s =~ s/\n.*//g;
|
||||
|
||||
if ($s =~ /^\s*;/) {
|
||||
ERROR("WHILE_AFTER_BRACE",
|
||||
"while should follow close brace '}'\n" . $hereprev);
|
||||
if (ERROR("WHILE_AFTER_BRACE",
|
||||
"while should follow close brace '}'\n" . $hereprev) &&
|
||||
$fix && $prevline =~ /^\+/ && $line =~ /^\+/) {
|
||||
fix_delete_line($fixlinenr - 1, $prevrawline);
|
||||
fix_delete_line($fixlinenr, $rawline);
|
||||
my $fixedline = $prevrawline;
|
||||
my $trailing = $rawline;
|
||||
$trailing =~ s/^\+//;
|
||||
$trailing = trim($trailing);
|
||||
$fixedline =~ s/}\s*$/} $trailing/;
|
||||
fix_insert_line($fixlinenr, $fixedline);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue