]> granicus.if.org Git - zfs/commitdiff
cstyle: allow right paren on its own line
authorNed Bass <bass6@llnl.gov>
Thu, 6 Nov 2014 21:34:17 +0000 (13:34 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 17 Nov 2014 19:13:50 +0000 (11:13 -0800)
Make the style checker script accept right parentheses on their own
lines. This is motivated by the Linux tracepoints macro
DECLARE_EVENT_CLASS.

The code within TP_fast_assign() (a parameter of DECLARE_EVENT_CLASS)
is normal C assignments terminated by semicolons.  But the style
checker forbids us from following a semicolon with a non-blank and
from preceding a right parenthesis with white space.  Therefore the
closing parenthesis must go on the next line, yet the style checker
foribs us from indenting it for readability.  Relaxing the
no-non-blank-after-semicolon rule would open the door to too many bad
style practices. So instead we relax the
no-white-space-before-right-paren rule if the parenthesis is on its
own line.  The relaxation is overriden with the -p option so we still
have a way to catch misuse of this style.

Signed-off-by: Ned Bass <bass6@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
scripts/cstyle.pl

index 083b30f6e8e9620eefa060749033fb04348d232b..4df185eb38cef1135f840dda2e41e6c6bf2de88f 100755 (executable)
@@ -597,8 +597,9 @@ line: while (<$filehandle>) {
        if (/\(\s/) {
                err("whitespace after left paren");
        }
-       # allow "for" statements to have empty "continue" clauses
-       if (/\s\)/ && !/^\s*for \([^;]*;[^;]*; \)/) {
+       # Allow "for" statements to have empty "continue" clauses.
+       # Allow right paren on its own line unless we're being picky (-p).
+       if (/\s\)/ && !/^\s*for \([^;]*;[^;]*; \)/ && ($picky || !/^\s*\)/)) {
                err("whitespace before right paren");
        }
        if (/^\s*\(void\)[^ ]/) {