On Tue, 2013-12-17 at 18:59 -0800, Jean-Baptiste Theou wrote:This patch fixes wrong curly bracket position reporting when functionThat's true for any declaration with { on the same line.
declarations have only one void argument.
Missing error (ERROR: space required before the open brace '{') on this
situation :
int foo(void){
...
}
Perhaps this would be better:
---
scripts/checkpatch.pl | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 8f3aecd..c4dbb8a 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2784,7 +2784,8 @@ 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 ($^V && $^V ge 5.10.0 &&
+ ($line=~/$Type\s*$Ident\s*$balanced_parens\s*{\s*$/) &&
!($line=~/\#\s*define.*do\s{/) and !($line=~/}/)) {
ERROR("OPEN_BRACE",
"open brace '{' following function declarations go on the next line\n" . $herecurr);
@@ -3159,7 +3160,9 @@ sub process {
## }
#need space before brace following if, while, etc
- if (($line =~ /\(.*\){/ && $line !~ /\($Type\){/) ||
+ if ($^V && $^V ge 5.10.0 &&
+ ($line !~ /$Type\s*$Ident\s*$balanced_parens\s*{\s*$/) &&
+ ($line =~ /\(.*\){/ && $line !~ /\($Type\){/) ||
$line =~ /do{/) {
if (ERROR("SPACING",
"space required before the open brace '{'\n" . $herecurr) &&