[ovs-dev] [PATCH 3/3] checkpatch: Check for trailing operators.
Joe Stringer
joe at ovn.org
Wed Aug 9 20:37:52 UTC 2017
The style guide states that lines should not end with '?' or ':'. Check
for this and report an error.
Signed-off-by: Joe Stringer <joe at ovn.org>
---
v2: Restrict to '?' and ':'.
Make sure that goto tags aren't flagged.
---
utilities/checkpatch.py | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
index 1bb256ccd4d6..e553076d7d1c 100755
--- a/utilities/checkpatch.py
+++ b/utilities/checkpatch.py
@@ -94,6 +94,7 @@ __regex_ends_with_bracket = \
re.compile(r'[^\s]\) {(\s+/\*[\s\Sa-zA-Z0-9\.,\?\*/+-]*)?$')
__regex_ptr_declaration_missing_whitespace = re.compile(r'[a-zA-Z0-9]\*[^*]')
__regex_is_comment_line = re.compile(r'^\s*(/\*|\*\s)')
+__regex_trailing_operator = re.compile(r'^[^ ]* [^ ]*[?:]$')
skip_leading_whitespace_check = False
skip_trailing_whitespace_check = False
@@ -206,6 +207,11 @@ def is_comment_line(line):
return __regex_is_comment_line.match(line) is not None
+def trailing_operator(line):
+ """Returns TRUE if the current line ends with an operator, eg &&"""
+ return __regex_trailing_operator.match(line) is not None
+
+
checks = [
{'regex': None,
'match_name':
@@ -237,7 +243,13 @@ checks = [
'prereq': lambda x: not is_comment_line(x),
'check': lambda x: pointer_whitespace_check(x),
'print':
- lambda: print_error("Inappropriate spacing in pointer declaration")}
+ lambda: print_error("Inappropriate spacing in pointer declaration")},
+
+ {'regex': '(\.c|\.h)(\.in)?$', 'match_name': None,
+ 'prereq': lambda x: not is_comment_line(x),
+ 'check': lambda x: trailing_operator(x),
+ 'print':
+ lambda: print_error("Line has '?' or ':' operator at end of line")},
]
--
2.13.3
More information about the dev
mailing list