Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning

2014-09-21 Thread Joe Perches
On Sun, 2014-09-21 at 22:08 -0500, Greg Donald wrote:
> On Sun, Sep 21, 2014 at 9:31 PM, Joe Perches  wrote:
> > On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote:
> >> Fixing an "open brace '{' following struct go on the same line" error 
> >> causes a
> >> false positive warning "do not add new typedefs". Fix existing typedef 
> >> false
> >> positive warning.
> >
> > This doesn't work.
> > The matching deleted line can be any number of lines above.
> 
> But this fixes the most common case:
> 
> -typedef struct ksock_proto
> -{
> +typedef struct ksock_proto {

Meh.  I think people are smart enough to work
out that this is not a new typedef.

> If you're wanting to check more than just $rawlines[$linenr - 3], how
> far above does it make sense to go?  From what I'm seeing the '{' is
> usually on the next line.

It's not the most common case working, it's the
generic case working.

It's in a large block being changed, it doesn't work.
If it's checking a file, there are no "-" lines.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning

2014-09-21 Thread Greg Donald
On Sun, Sep 21, 2014 at 9:31 PM, Joe Perches  wrote:
> On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote:
>> Fixing an "open brace '{' following struct go on the same line" error causes 
>> a
>> false positive warning "do not add new typedefs". Fix existing typedef false
>> positive warning.
>
> This doesn't work.
> The matching deleted line can be any number of lines above.

But this fixes the most common case:

-typedef struct ksock_proto
-{
+typedef struct ksock_proto {

If you're wanting to check more than just $rawlines[$linenr - 3], how
far above does it make sense to go?  From what I'm seeing the '{' is
usually on the next line.


-- 
Greg Donald
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning

2014-09-21 Thread Joe Perches
On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote:
> Fixing an "open brace '{' following struct go on the same line" error causes a
> false positive warning "do not add new typedefs". Fix existing typedef false
> positive warning.

This doesn't work.
The matching deleted line can be any number of lines above.

> Signed-off-by: Greg Donald 
> ---
>  scripts/checkpatch.pl | 16 +---
>  1 file changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 4d08b39..eafe5e7 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3081,14 +3081,24 @@ sub process {
>   }
>  
>  # check for new typedefs, only function parameters and sparse annotations
> -# make sense.
> +# and existing typedefs make sense.
>   if ($line =~ /\btypedef\s/ &&
>   $line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ &&
>   $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ &&
>   $line !~ /\b$typeTypedefs\b/ &&
>   $line !~ /\b__bitwise(?:__|)\b/) {
> - WARN("NEW_TYPEDEFS",
> -  "do not add new typedefs\n" . $herecurr);
> + # check if $line is diff-like
> + if (substr($rawlines[$linenr - 3], 0, 1) eq '-') {
> + my $oldline3 = substr($rawlines[$linenr - 3], 
> 1);
> + # check if typedef already existed
> + if ($line !~ /$oldline3/) {
> + WARN("NEW_TYPEDEFS",
> +  "do not add new typedefs\n" . 
> $herecurr);
> + }
> + } else {
> + WARN("NEW_TYPEDEFS",
> +  "do not add new typedefs\n" . $herecurr);
> + }
>   }
>  
>  # * goes on variable not on type



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning

2014-09-21 Thread Greg Donald
Fixing an "open brace '{' following struct go on the same line" error causes a
false positive warning "do not add new typedefs". Fix existing typedef false
positive warning.

Signed-off-by: Greg Donald 
---
 scripts/checkpatch.pl | 16 +---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 4d08b39..eafe5e7 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3081,14 +3081,24 @@ sub process {
}
 
 # check for new typedefs, only function parameters and sparse annotations
-# make sense.
+# and existing typedefs make sense.
if ($line =~ /\btypedef\s/ &&
$line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ &&
$line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ &&
$line !~ /\b$typeTypedefs\b/ &&
$line !~ /\b__bitwise(?:__|)\b/) {
-   WARN("NEW_TYPEDEFS",
-"do not add new typedefs\n" . $herecurr);
+   # check if $line is diff-like
+   if (substr($rawlines[$linenr - 3], 0, 1) eq '-') {
+   my $oldline3 = substr($rawlines[$linenr - 3], 
1);
+   # check if typedef already existed
+   if ($line !~ /$oldline3/) {
+   WARN("NEW_TYPEDEFS",
+"do not add new typedefs\n" . 
$herecurr);
+   }
+   } else {
+   WARN("NEW_TYPEDEFS",
+"do not add new typedefs\n" . $herecurr);
+   }
}
 
 # * goes on variable not on type
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning

2014-09-21 Thread Greg Donald
Fixing an open brace '{' following struct go on the same line error causes a
false positive warning do not add new typedefs. Fix existing typedef false
positive warning.

Signed-off-by: Greg Donald gdon...@gmail.com
---
 scripts/checkpatch.pl | 16 +---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 4d08b39..eafe5e7 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3081,14 +3081,24 @@ sub process {
}
 
 # check for new typedefs, only function parameters and sparse annotations
-# make sense.
+# and existing typedefs make sense.
if ($line =~ /\btypedef\s/ 
$line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ 
$line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ 
$line !~ /\b$typeTypedefs\b/ 
$line !~ /\b__bitwise(?:__|)\b/) {
-   WARN(NEW_TYPEDEFS,
-do not add new typedefs\n . $herecurr);
+   # check if $line is diff-like
+   if (substr($rawlines[$linenr - 3], 0, 1) eq '-') {
+   my $oldline3 = substr($rawlines[$linenr - 3], 
1);
+   # check if typedef already existed
+   if ($line !~ /$oldline3/) {
+   WARN(NEW_TYPEDEFS,
+do not add new typedefs\n . 
$herecurr);
+   }
+   } else {
+   WARN(NEW_TYPEDEFS,
+do not add new typedefs\n . $herecurr);
+   }
}
 
 # * goes on variable not on type
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning

2014-09-21 Thread Joe Perches
On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote:
 Fixing an open brace '{' following struct go on the same line error causes a
 false positive warning do not add new typedefs. Fix existing typedef false
 positive warning.

This doesn't work.
The matching deleted line can be any number of lines above.

 Signed-off-by: Greg Donald gdon...@gmail.com
 ---
  scripts/checkpatch.pl | 16 +---
  1 file changed, 13 insertions(+), 3 deletions(-)
 
 diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
 index 4d08b39..eafe5e7 100755
 --- a/scripts/checkpatch.pl
 +++ b/scripts/checkpatch.pl
 @@ -3081,14 +3081,24 @@ sub process {
   }
  
  # check for new typedefs, only function parameters and sparse annotations
 -# make sense.
 +# and existing typedefs make sense.
   if ($line =~ /\btypedef\s/ 
   $line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ 
   $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ 
   $line !~ /\b$typeTypedefs\b/ 
   $line !~ /\b__bitwise(?:__|)\b/) {
 - WARN(NEW_TYPEDEFS,
 -  do not add new typedefs\n . $herecurr);
 + # check if $line is diff-like
 + if (substr($rawlines[$linenr - 3], 0, 1) eq '-') {
 + my $oldline3 = substr($rawlines[$linenr - 3], 
 1);
 + # check if typedef already existed
 + if ($line !~ /$oldline3/) {
 + WARN(NEW_TYPEDEFS,
 +  do not add new typedefs\n . 
 $herecurr);
 + }
 + } else {
 + WARN(NEW_TYPEDEFS,
 +  do not add new typedefs\n . $herecurr);
 + }
   }
  
  # * goes on variable not on type



--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning

2014-09-21 Thread Greg Donald
On Sun, Sep 21, 2014 at 9:31 PM, Joe Perches j...@perches.com wrote:
 On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote:
 Fixing an open brace '{' following struct go on the same line error causes 
 a
 false positive warning do not add new typedefs. Fix existing typedef false
 positive warning.

 This doesn't work.
 The matching deleted line can be any number of lines above.

But this fixes the most common case:

-typedef struct ksock_proto
-{
+typedef struct ksock_proto {

If you're wanting to check more than just $rawlines[$linenr - 3], how
far above does it make sense to go?  From what I'm seeing the '{' is
usually on the next line.


-- 
Greg Donald
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] scripts: checkpatch.pl: Fix existing typedef false positive warning

2014-09-21 Thread Joe Perches
On Sun, 2014-09-21 at 22:08 -0500, Greg Donald wrote:
 On Sun, Sep 21, 2014 at 9:31 PM, Joe Perches j...@perches.com wrote:
  On Sun, 2014-09-21 at 20:32 -0500, Greg Donald wrote:
  Fixing an open brace '{' following struct go on the same line error 
  causes a
  false positive warning do not add new typedefs. Fix existing typedef 
  false
  positive warning.
 
  This doesn't work.
  The matching deleted line can be any number of lines above.
 
 But this fixes the most common case:
 
 -typedef struct ksock_proto
 -{
 +typedef struct ksock_proto {

Meh.  I think people are smart enough to work
out that this is not a new typedef.

 If you're wanting to check more than just $rawlines[$linenr - 3], how
 far above does it make sense to go?  From what I'm seeing the '{' is
 usually on the next line.

It's not the most common case working, it's the
generic case working.

It's in a large block being changed, it doesn't work.
If it's checking a file, there are no - lines.



--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/