|
@@ -11,23 +11,23 @@ for $fn (@ARGV) {
|
|
|
$lastnil = 0;
|
|
|
$incomment = 0;
|
|
|
while (<F>) {
|
|
|
- ## Warn about windows-style newlines.
|
|
|
+ ## Warn about windows-style newlines.
|
|
|
if (/\r/) {
|
|
|
print " CR:$fn:$.\n";
|
|
|
}
|
|
|
- ## Warn about tabs.
|
|
|
+ ## Warn about tabs.
|
|
|
if (/\t/) {
|
|
|
print " TAB:$fn:$.\n";
|
|
|
}
|
|
|
- ## Warn about trailing whitespace.
|
|
|
+ ## Warn about trailing whitespace.
|
|
|
if (/ +$/) {
|
|
|
print "Space\@EOL:$fn:$.\n";
|
|
|
}
|
|
|
- ## Warn about control keywords without following space.
|
|
|
- if ($C && /\s(?:if|while|for|switch)\(/) {
|
|
|
- print " KW(:$fn:$.\n";
|
|
|
- }
|
|
|
- ## Warn about multiple empty lines.
|
|
|
+ ## Warn about control keywords without following space.
|
|
|
+ if ($C && /\s(?:if|while|for|switch)\(/) {
|
|
|
+ print " KW(:$fn:$.\n";
|
|
|
+ }
|
|
|
+ ## Warn about multiple empty lines.
|
|
|
if ($lastnil && /^$/) {
|
|
|
print " DoubleNL:$fn:$.\n";
|
|
|
} elsif (/^$/) {
|
|
@@ -35,15 +35,15 @@ for $fn (@ARGV) {
|
|
|
} else {
|
|
|
$lastnil = 0;
|
|
|
}
|
|
|
- ## Terminals are still 80 columns wide in my world. I refuse to
|
|
|
- ## accept double-line lines. Except, of course, svn Id tags
|
|
|
- ## can make us go long.
|
|
|
- if (/^.{80}/ && !/\$Id: /) {
|
|
|
- print " Wide:$fn:$.\n";
|
|
|
- }
|
|
|
- ### Juju to skip over comments and strings, since the tests
|
|
|
- ### we're about to do are okay there.
|
|
|
- if ($C) {
|
|
|
+ ## Terminals are still 80 columns wide in my world. I refuse to
|
|
|
+ ## accept double-line lines. Except, of course, svn Id tags
|
|
|
+ ## can make us go long.
|
|
|
+ if (/^.{80}/ && !/\$Id: /) {
|
|
|
+ print " Wide:$fn:$.\n";
|
|
|
+ }
|
|
|
+ ### Juju to skip over comments and strings, since the tests
|
|
|
+ ### we're about to do are okay there.
|
|
|
+ if ($C) {
|
|
|
if ($incomment) {
|
|
|
if (m!\*/!) {
|
|
|
s!.*?\*/!!;
|
|
@@ -83,29 +83,30 @@ for $fn (@ARGV) {
|
|
|
if (/(\w+)\s\(/) {
|
|
|
if ($1 ne "if" and $1 ne "while" and $1 ne "for" and
|
|
|
$1 ne "switch" and $1 ne "return" and $1 ne "int" and
|
|
|
+ $1 ne "elsif" and
|
|
|
$1 ne "void" and $1 ne "__attribute__") {
|
|
|
print " fn ():$fn:$.\n";
|
|
|
}
|
|
|
}
|
|
|
- ## Warn about functions not declared at start of line.
|
|
|
- if ($in_func_head ||
|
|
|
- ($fn !~ /\.h$/ && /^[a-zA-Z0-9_]/ &&
|
|
|
- ! /^(?:static )?(?:typedef|struct|union)[^\(]*$/ &&
|
|
|
- ! /= *\{$/ && ! /;$/)) {
|
|
|
- if (/.\{$/){
|
|
|
- print "fn() {:$fn:$.\n";
|
|
|
- $in_func_head = 0;
|
|
|
- } elsif (/^\S[^\(]* +\**[a-zA-Z0-9_]+\(/) {
|
|
|
- $in_func_head = -1; # started with tp fn
|
|
|
- } elsif (/;$/) {
|
|
|
- $in_func_head = 0;
|
|
|
- } elsif (/\{/) {
|
|
|
- if ($in_func_head == -1) {
|
|
|
- print "tp fn():$fn:$.\n";
|
|
|
- }
|
|
|
- $in_func_head = 0;
|
|
|
- }
|
|
|
- }
|
|
|
+ ## Warn about functions not declared at start of line.
|
|
|
+ if ($in_func_head ||
|
|
|
+ ($fn !~ /\.h$/ && /^[a-zA-Z0-9_]/ &&
|
|
|
+ ! /^(?:static )?(?:typedef|struct|union)[^\(]*$/ &&
|
|
|
+ ! /= *\{$/ && ! /;$/)) {
|
|
|
+ if (/.\{$/){
|
|
|
+ print "fn() {:$fn:$.\n";
|
|
|
+ $in_func_head = 0;
|
|
|
+ } elsif (/^\S[^\(]* +\**[a-zA-Z0-9_]+\(/) {
|
|
|
+ $in_func_head = -1; # started with tp fn
|
|
|
+ } elsif (/;$/) {
|
|
|
+ $in_func_head = 0;
|
|
|
+ } elsif (/\{/) {
|
|
|
+ if ($in_func_head == -1) {
|
|
|
+ print "tp fn():$fn:$.\n";
|
|
|
+ }
|
|
|
+ $in_func_head = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if (! $lastnil) {
|
|
@@ -113,3 +114,4 @@ for $fn (@ARGV) {
|
|
|
}
|
|
|
close(F);
|
|
|
}
|
|
|
+
|