checkpatch: conditional indent -- labels have different indent rules
Labels have different indent rules and must be ignored when checking the conditional indent levels. Also correct identify labels in single statement conditionals. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
0d413866c7
Коммит
14b111c158
|
@ -782,9 +782,9 @@ sub annotate_values {
|
|||
}
|
||||
$type = 'N';
|
||||
|
||||
} elsif ($cur =~ /^(if|while|typeof|__typeof__|for)\b/o) {
|
||||
} elsif ($cur =~ /^(if|while|for)\b/o) {
|
||||
print "COND($1)\n" if ($dbg_values > 1);
|
||||
$av_pending = 'N';
|
||||
$av_pending = 'E';
|
||||
$type = 'N';
|
||||
|
||||
} elsif ($cur =~/^(case)/o) {
|
||||
|
@ -792,7 +792,7 @@ sub annotate_values {
|
|||
$av_pend_colon = 'C';
|
||||
$type = 'N';
|
||||
|
||||
} elsif ($cur =~/^(return|else|goto)/o) {
|
||||
} elsif ($cur =~/^(return|else|goto|typeof|__typeof__)\b/o) {
|
||||
print "KEYWORD($1)\n" if ($dbg_values > 1);
|
||||
$type = 'N';
|
||||
|
||||
|
@ -1846,6 +1846,11 @@ sub process {
|
|||
$check = 0;
|
||||
}
|
||||
|
||||
# Ignore the current line if it is label.
|
||||
if ($s =~ /^\s*$Ident\s*:/) {
|
||||
$check = 0;
|
||||
}
|
||||
|
||||
my (undef, $sindent) = line_stats("+" . $s);
|
||||
|
||||
##print "line<$line> prevline<$prevline> indent<$indent> sindent<$sindent> check<$check> continuation<$continuation> s<$s>\n";
|
||||
|
|
Загрузка…
Ссылка в новой задаче