diff mbox

[ovs-dev,1/2] checkpatch: Check for pointer whitespace.

Message ID 20170308175407.11142-1-joe@ovn.org
State Accepted
Headers show

Commit Message

Joe Stringer March 8, 2017, 5:54 p.m. UTC
Signed-off-by: Joe Stringer <joe@ovn.org>
---
 utilities/checkpatch.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Russell Bryant March 8, 2017, 7:23 p.m. UTC | #1
On Wed, Mar 8, 2017 at 12:54 PM, Joe Stringer <joe@ovn.org> wrote:
> Signed-off-by: Joe Stringer <joe@ovn.org>
> ---
>  utilities/checkpatch.py | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
> index 26eb5c32b9bc..e795646de4a8 100755
> --- a/utilities/checkpatch.py
> +++ b/utilities/checkpatch.py
> @@ -68,6 +68,7 @@ __regex_is_for_if_single_line_bracket = \
>      re.compile(r'^ +(if|for|while) \(.*\)')
>  __regex_ends_with_bracket = \
>      re.compile(r'[^\s]\) {(\s+/\*[\s\Sa-zA-Z0-9\.,\?\*/+-]*)?$')
> +__regex_pointer_declaration_missing_whitespace = re.compile(r'[a-zA-Z0-9]\*')
>
>  skip_leading_whitespace_check = False
>  skip_trailing_whitespace_check = False
> @@ -157,6 +158,15 @@ def if_and_for_end_with_bracket_check(line):
>      return True
>
>
> +def pointer_whitespace_check(line):
> +    """Return TRUE if there is not an asterisk between a pointer name and the

s/asterisk/space/

Otherwise:

Acked-by: Russell Bryant <russell@ovn.org>

> +       asterisk that denotes this is a apionter type, ie: 'struct foo*'"""
> +
> +    if __regex_pointer_declaration_missing_whitespace.search(line) is not None:
> +        return True
> +    return False

or I guess you could make this one line as:

   return __regex_...search(line) is not None

not a big deal, though
Joe Stringer March 9, 2017, 8:35 p.m. UTC | #2
On 8 March 2017 at 11:23, Russell Bryant <russell@ovn.org> wrote:
> On Wed, Mar 8, 2017 at 12:54 PM, Joe Stringer <joe@ovn.org> wrote:
>> Signed-off-by: Joe Stringer <joe@ovn.org>
>> ---
>>  utilities/checkpatch.py | 14 ++++++++++++++
>>  1 file changed, 14 insertions(+)
>>
>> diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
>> index 26eb5c32b9bc..e795646de4a8 100755
>> --- a/utilities/checkpatch.py
>> +++ b/utilities/checkpatch.py
>> @@ -68,6 +68,7 @@ __regex_is_for_if_single_line_bracket = \
>>      re.compile(r'^ +(if|for|while) \(.*\)')
>>  __regex_ends_with_bracket = \
>>      re.compile(r'[^\s]\) {(\s+/\*[\s\Sa-zA-Z0-9\.,\?\*/+-]*)?$')
>> +__regex_pointer_declaration_missing_whitespace = re.compile(r'[a-zA-Z0-9]\*')
>>
>>  skip_leading_whitespace_check = False
>>  skip_trailing_whitespace_check = False
>> @@ -157,6 +158,15 @@ def if_and_for_end_with_bracket_check(line):
>>      return True
>>
>>
>> +def pointer_whitespace_check(line):
>> +    """Return TRUE if there is not an asterisk between a pointer name and the
>
> s/asterisk/space/
>
> Otherwise:
>
> Acked-by: Russell Bryant <russell@ovn.org>

Fixed these up and applied to master, thanks.
diff mbox

Patch

diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
index 26eb5c32b9bc..e795646de4a8 100755
--- a/utilities/checkpatch.py
+++ b/utilities/checkpatch.py
@@ -68,6 +68,7 @@  __regex_is_for_if_single_line_bracket = \
     re.compile(r'^ +(if|for|while) \(.*\)')
 __regex_ends_with_bracket = \
     re.compile(r'[^\s]\) {(\s+/\*[\s\Sa-zA-Z0-9\.,\?\*/+-]*)?$')
+__regex_pointer_declaration_missing_whitespace = re.compile(r'[a-zA-Z0-9]\*')
 
 skip_leading_whitespace_check = False
 skip_trailing_whitespace_check = False
@@ -157,6 +158,15 @@  def if_and_for_end_with_bracket_check(line):
     return True
 
 
+def pointer_whitespace_check(line):
+    """Return TRUE if there is not an asterisk between a pointer name and the
+       asterisk that denotes this is a apionter type, ie: 'struct foo*'"""
+
+    if __regex_pointer_declaration_missing_whitespace.search(line) is not None:
+        return True
+    return False
+
+
 def ovs_checkpatch_parse(text):
     global print_file_name
     lineno = 0
@@ -257,6 +267,10 @@  def ovs_checkpatch_parse(text):
             if not if_and_for_end_with_bracket_check(cmp_line):
                 print_line = True
                 print_error("Inappropriate bracing around statement", lineno)
+            if pointer_whitespace_check(cmp_line):
+                print_line = True
+                print_error("Inappropriate spacing in pointer declaration",
+                            lineno)
             if print_line:
                 print("\n%s\n" % line)
     if __errors or __warnings: