2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-30 05:47:55 +00:00

checkpatch: Check for trailing operators.

The style guide states that lines should not end with '?' or ':'. Check
for this and report an error.

Signed-off-by: Joe Stringer <joe@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
This commit is contained in:
Joe Stringer 2017-08-09 13:37:52 -07:00
parent bcd93351fc
commit 12f62e9df6

View File

@ -94,6 +94,7 @@ __regex_ends_with_bracket = \
re.compile(r'[^\s]\) {(\s+/\*[\s\Sa-zA-Z0-9\.,\?\*/+-]*)?$') re.compile(r'[^\s]\) {(\s+/\*[\s\Sa-zA-Z0-9\.,\?\*/+-]*)?$')
__regex_ptr_declaration_missing_whitespace = re.compile(r'[a-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_is_comment_line = re.compile(r'^\s*(/\*|\*\s)')
__regex_trailing_operator = re.compile(r'^[^ ]* [^ ]*[?:]$')
skip_leading_whitespace_check = False skip_leading_whitespace_check = False
skip_trailing_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 return __regex_is_comment_line.match(line) is not None
def trailing_operator(line):
"""Returns TRUE if the current line ends with an operatorsuch as ? or :"""
return __regex_trailing_operator.match(line) is not None
checks = [ checks = [
{'regex': None, {'regex': None,
'match_name': 'match_name':
@ -237,7 +243,13 @@ checks = [
'prereq': lambda x: not is_comment_line(x), 'prereq': lambda x: not is_comment_line(x),
'check': lambda x: pointer_whitespace_check(x), 'check': lambda x: pointer_whitespace_check(x),
'print': '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")},
] ]