checkpatch: only warn for empty lines before closing braces by themselves

This check was intended to catch extra newlines at the end of a function
definition, but it would trigger on any closing brace, including those
of inline functions and macro definitions, triggering false positives.
Now, only closing braces on a line by themselves trigger this check.

Tested with:

$ cat test.h
/* test.h - Test file */

static inline int foo(void) { return 0; }

static inline int bar(void)
{
        return 1;

}

$ ./scripts/checkpatch.pl --strict -f test.h # Before this commit
CHECK: Blank lines aren't necessary before a close brace '}'
+
+static inline int foo(void) { return 0; }

CHECK: Blank lines aren't necessary before a close brace '}'
+
+}

total: 0 errors, 0 warnings, 2 checks, 9 lines checked

$ ./scripts/checkpatch.pl --strict -f test.h # After this commit
CHECK: Blank lines aren't necessary before a close brace '}'
+
+}

total: 0 errors, 0 warnings, 1 checks, 9 lines checked

Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Cc: Andy Whitcroft <apw@canonical.com>
Acked-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:
Matthijs Kooijman 2013-04-29 16:18:16 -07:00 committed by Linus Torvalds
parent 5646bc71b3
commit 74c8f4336d
1 changed files with 1 additions and 1 deletions

View File

@ -3229,7 +3229,7 @@ sub process {
} }
# check for unnecessary blank lines around braces # check for unnecessary blank lines around braces
if (($line =~ /^..*}\s*$/ && $prevline =~ /^.\s*$/)) { if (($line =~ /^.\s*}\s*$/ && $prevline =~ /^.\s*$/)) {
CHK("BRACES", CHK("BRACES",
"Blank lines aren't necessary before a close brace '}'\n" . $hereprev); "Blank lines aren't necessary before a close brace '}'\n" . $hereprev);
} }