Verbose output; includes the text of the line of error, and, for
.Fl c ,
the first statement in the current continuation block.
-.It Fl C
-Ignore errors in header comments (i.e. block comments starting in the
-first column).
-Not generally used.
.It Fl P
Check for use of non-POSIX types.
Historically, types like
use strict;
my $usage =
-"usage: cstyle [-cghpvCP] file...
+"usage: cstyle [-cghpvP] file...
-c check continuation indentation inside functions
-g print github actions' workflow commands
-h perform heuristic checks that are sometimes wrong
-p perform some of the more picky checks
-v verbose
- -C don't check anything in header block comments
-P check for use of non-POSIX types
";
my $heuristic = $opts{'h'};
my $picky = $opts{'p'};
my $verbose = $opts{'v'};
-my $ignore_hdr_comment = $opts{'C'};
my $check_posix_types = $opts{'P'};
my ($filename, $line, $prev); # shared globals
my $next_in_cpp = 0;
my $in_comment = 0;
-my $in_header_comment = 0;
my $comment_done = 0;
my $in_warlock_comment = 0;
my $in_function = 0;
if ($comment_done) {
$in_comment = 0;
- $in_header_comment = 0;
$comment_done = 0;
}
# does this looks like the start of a block comment?
$in_comment = 1;
/^(\s*)\//;
$comment_prefix = $1;
- if ($comment_prefix eq "") {
- $in_header_comment = 1;
- }
$prev = $line;
next line;
}
$comment_done = 1;
} elsif (/\*\//) {
$comment_done = 1;
- err("improper block comment close")
- unless ($ignore_hdr_comment && $in_header_comment);
+ err("improper block comment close");
} elsif (!/^$comment_prefix \*[ \t]/ &&
!/^$comment_prefix \*$/) {
- err("improper block comment")
- unless ($ignore_hdr_comment && $in_header_comment);
+ err("improper block comment");
}
}
- if ($in_header_comment && $ignore_hdr_comment) {
- $prev = $line;
- next line;
- }
-
# check for errors that might occur in comments and in code.
# allow spaces to be used to draw pictures in all comments.