tools/nxstyle.c;: Add check for blank lines before and after single line comments.
This commit is contained in:
parent
be61157246
commit
7ae14be1de
@ -926,6 +926,21 @@ uncrustify.cfg
|
||||
it leaves it alone, but if the block comment is deemed to need a fix
|
||||
it starts erroneously indenting the continuation lines of the comment.
|
||||
|
||||
- uncrustify.cfg messed up the indent of most block comments.
|
||||
cmt_sp_before_star_cont is applied inconsistently. I added
|
||||
|
||||
cmt_indent_multi = false # disable all multi-line comment changes
|
||||
|
||||
to the .cfg file to limit its damage to block comments.
|
||||
- It is very strict at wrapping lines at column 78. Even when column 79
|
||||
just contained the '/' of a closing "*/". That created many
|
||||
bad continuation lines.
|
||||
- It moved '{' that opened a struct to the line defining the struct.
|
||||
nl_struct_brace = add (or force) seemed to be ignored.
|
||||
- It also aligned variable names in declarations and '=' signs in
|
||||
assignment statements in a seemingly arbitrary manner. Making changes
|
||||
that were not necessary.
|
||||
|
||||
NOTE: uncrustify.cfg should *ONLY* be used with new files that have an
|
||||
inconsistent coding style. uncrustify.cfg should get you in the ballpark,
|
||||
but you should expect to review and hand-edit the files to assume 100%
|
||||
|
@ -56,6 +56,7 @@ int main(int argc, char **argv, char **envp)
|
||||
{
|
||||
FILE *instream;
|
||||
char line[LINE_SIZE];
|
||||
char *lptr;
|
||||
bool btabs;
|
||||
bool bfunctions;
|
||||
bool bstatm;
|
||||
@ -73,6 +74,9 @@ int main(int argc, char **argv, char **envp)
|
||||
int prevncomment;
|
||||
int n;
|
||||
int i;
|
||||
int last_oneline_comment;
|
||||
int last_blank_line;
|
||||
int linelen;
|
||||
|
||||
instream = fopen(argv[1], "r");
|
||||
if (!instream)
|
||||
@ -91,6 +95,9 @@ int main(int argc, char **argv, char **envp)
|
||||
declnest = 0;
|
||||
prevdeclnest = 0;
|
||||
prevncomment = 0;
|
||||
last_oneline_comment = -1; /* Line on which the last one line comment was
|
||||
* closed */
|
||||
last_blank_line = -1; /* lineno of last blank line */
|
||||
|
||||
while (fgets(line, LINE_SIZE, instream))
|
||||
{
|
||||
@ -102,6 +109,22 @@ int main(int argc, char **argv, char **envp)
|
||||
bstatm = false;
|
||||
bfor = false; /* REVISIT: Implies for() is all on one line */
|
||||
|
||||
/* Check for a blank line */
|
||||
|
||||
if (line[0] == '\n')
|
||||
{
|
||||
last_blank_line = lineno;
|
||||
}
|
||||
else /* this line is non-blank */
|
||||
{
|
||||
if (lineno == last_oneline_comment + 1)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Missing blank line after comment line. Found at line %d\n",
|
||||
last_oneline_comment);
|
||||
}
|
||||
}
|
||||
|
||||
/* STEP 1: Find the indentation level and the start of real stuff on
|
||||
* the line.
|
||||
*/
|
||||
@ -144,6 +167,27 @@ int main(int argc, char **argv, char **envp)
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Check for a single line comment */
|
||||
|
||||
linelen = strlen(line);
|
||||
if (linelen >= 5) /* Minimum is slash, star, star, slash, newline */
|
||||
{
|
||||
lptr = strstr(line, "*/");
|
||||
if (line[indent] == '/' && line[indent +1] == '*' &&
|
||||
lptr - line == linelen - 3)
|
||||
{
|
||||
if (last_oneline_comment != lineno - 1 &&
|
||||
last_blank_line != lineno - 1)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Missing blank line before comment found at line %d\n",
|
||||
lineno);
|
||||
}
|
||||
|
||||
last_oneline_comment = lineno;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for the comment block indicating the beginning of functions. */
|
||||
|
||||
if (!bfunctions && ncomment > 0 &&
|
||||
|
Loading…
Reference in New Issue
Block a user