syntax-check: Check for incorrect indentation in function body

This patch add syntax-check rule for incorrect indentation and blank
first line in function body by changing check-spacing.pl.
For efficiency, it only checks the first line of function body.
But it's enough for most cases.

Signed-off-by: Shi Lei <shi_lei@massclouds.com>
This commit is contained in:
Shi Lei 2018-09-13 16:55:19 +08:00 committed by Michal Privoznik
parent eaa765ef6b
commit 11e1f11dd3

View File

@ -31,6 +31,7 @@ foreach my $file (@ARGV) {
my $cb_linenum = 0;
my $cb_code = "";
my $cb_scolon = 0;
my $fn_linenum = 0;
open FILE, $file;
@ -50,6 +51,27 @@ foreach my $file (@ARGV) {
next if $data =~ /^#/;
# Detect start of function block
if ($data =~ /^{$/) {
$fn_linenum = $.;
}
# Handle first line of function block
if ($fn_linenum && $fn_linenum != $.) {
if ($data =~ /^\s*$/) {
print "Blank line before content in function body:\n";
print "$file:$.:\n$line";
$ret = 1;
} elsif ($data !~ /^[ ]{4}\S/) {
unless ($data =~ /^[ ]\w+:$/ || $data =~ /^}/) {
print "Incorrect indentation in function body:\n";
print "$file:$.:\n$line";
$ret = 1;
}
}
$fn_linenum = 0;
}
# Kill contents of multi-line comments
# and detect end of multi-line comments
if ($incomment) {