cstyle: Allow URLs in C++ comments

If a C++ comment contained a URL, the `://` part of the URL would
trigger an error because there was no trailing blank, but trailing
blanks make for an invalid URL.  Modify the check to ignore text
within the C++ comment.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Chris Lindee <chris.lindee+github@gmail.com>
Closes #13987
This commit is contained in:
ColMelvin 2022-10-13 13:05:05 -05:00 committed by GitHub
parent ab8d9c1783
commit 642c2dee44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -498,9 +498,6 @@ line: while (<$filehandle>) {
if (/\S\*\/[^)]|\S\*\/$/ && !/$lint_re/) {
err("missing blank before close comment");
}
if (/\/\/\S/) { # C++ comments
err("missing blank after start comment");
}
# check for unterminated single line comments, but allow them when
# they are used to comment out the argument list of a function
# declaration.
@ -534,7 +531,15 @@ line: while (<$filehandle>) {
# multiple comments on the same line.
#
s/\/\*.*?\*\///g;
s/\/\/.*$//; # C++ comments
s/\/\/(?:\s.*)?$//; # Valid C++ comments
# After stripping correctly spaced comments, check for (and strip) comments
# without a blank. By checking this after clearing out C++ comments that
# correctly have a blank, we guarantee URIs in a C++ comment will not cause
# an error.
if (s!//.*$!!) { # C++ comments
err("missing blank after start comment");
}
# delete any trailing whitespace; we have already checked for that.
s/\s*$//;