public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] scripts:checkpatch - Do not give error if static bool or global bool variables are assigned to false value.
@ 2015-05-27  1:09 Shailendra Verma
  2015-05-27  1:57 ` Joe Perches
  0 siblings, 1 reply; 3+ messages in thread
From: Shailendra Verma @ 2015-05-27  1:09 UTC (permalink / raw)
  To: Andy Whitcroft, Joe Perches; +Cc: linux-kernel, Shailendra Verma

The bool value false is not always to be 0.So this patch will
prevent for error if static bool or global bool are initialized
with false value.

Signed-off-by: Shailendra Verma <shailendra.capricorn@gmail.com>
---
 scripts/checkpatch.pl |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 89b1df4..74901c6 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3169,21 +3169,21 @@ sub process {
 		}
 
 # check for global initialisers.
-		if ($line =~ /^\+(\s*$Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/) {
+		if ($line =~ /^\+(\s*$Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL)\s*;/) {
 			if (ERROR("GLOBAL_INITIALISERS",
 				  "do not initialise globals to 0 or NULL\n" .
 				      $herecurr) &&
 			    $fix) {
-				$fixed[$fixlinenr] =~ s/($Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/$1;/;
+				$fixed[$fixlinenr] =~ s/($Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL)\s*;/$1;/;
 			}
 		}
 # check for static initialisers.
-		if ($line =~ /^\+.*\bstatic\s.*=\s*(0|NULL|false)\s*;/) {
+		if ($line =~ /^\+.*\bstatic\s.*=\s*(0|NULL)\s*;/) {
 			if (ERROR("INITIALISED_STATIC",
 				  "do not initialise statics to 0 or NULL\n" .
 				      $herecurr) &&
 			    $fix) {
-				$fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*(0|NULL|false)\s*;/$1;/;
+				$fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*(0|NULL)\s*;/$1;/;
 			}
 		}
 
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] scripts:checkpatch - Do not give error if static bool or global bool variables are assigned to false value.
  2015-05-27  1:09 [PATCH] scripts:checkpatch - Do not give error if static bool or global bool variables are assigned to false value Shailendra Verma
@ 2015-05-27  1:57 ` Joe Perches
       [not found]   ` <CA+tKcn_1VUQ1cEXYpkPwn3BsSHv3uiY-d2_sfbt_59ZL=jpDfw@mail.gmail.com>
  0 siblings, 1 reply; 3+ messages in thread
From: Joe Perches @ 2015-05-27  1:57 UTC (permalink / raw)
  To: Shailendra Verma; +Cc: Andy Whitcroft, linux-kernel

On Wed, 2015-05-27 at 06:39 +0530, Shailendra Verma wrote:
> The bool value false is not always to be 0.

By definition (7.16 Boolean type and values <stdbool.h>),
false is integer 0.

Setting a boolean variable to 0 is equivalent to
setting it to false.

What I think you mean is that a boolean variable can be
set to 0 when false might be more intelligible.

> So this patch will
> prevent for error if static bool or global bool are initialized
> with false value.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
>  # check for global initialisers.
> -		if ($line =~ /^\+(\s*$Type\sa*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/) {
> +		if ($line =~ /^\+(\s*$Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL)\s*;/) {
>  			if (ERROR("GLOBAL_INITIALISERS",
>  				  "do not initialise globals to 0 or NULL\n" .
>  				      $herecurr) &&

I think using false adds some clarity for the reader and
even if something were to be applied, the error message
should probably be "do not initialize globals to $2\n"

(choose the spelling of your choice for initialise/initialize)

The (0|NULL|false) regex could probably be expanded to
(0x0+|0|NULL|false) or that regex could be saved as a
$our zero_value and tested using that new variable.

[]
>  # check for static initialisers.
> -		if ($line =~ /^\+.*\bstatic\s.*=\s*(0|NULL|false)\s*;/) {
> +		if ($line =~ /^\+.*\bstatic\s.*=\s*(0|NULL)\s*;/) {
>  			if (ERROR("INITIALISED_STATIC",
>  				  "do not initialise statics to 0 or NULL\n" .
>  				      $herecurr) &&

$1 here


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] scripts:checkpatch - Do not give error if static bool or global bool variables are assigned to false value.
       [not found]   ` <CA+tKcn_1VUQ1cEXYpkPwn3BsSHv3uiY-d2_sfbt_59ZL=jpDfw@mail.gmail.com>
@ 2015-05-27  3:23     ` Joe Perches
  0 siblings, 0 replies; 3+ messages in thread
From: Joe Perches @ 2015-05-27  3:23 UTC (permalink / raw)
  To: Shailendra Verma; +Cc: Andy Whitcroft, linux-kernel

On Wed, 2015-05-27 at 08:43 +0530, Shailendra Verma wrote:
> Hello Joe,
> 
> Thanks for the clarification. So I will change the error message as
> suggested by you and will send the patch to you.

Hello Shailendra.

My humble apologies to you.

I totally misunderstood what you were writing.
I guess the first sentence threw me for a loop.

It makes sense to avoid emitting a warning message with

	bool foo = false;

cheers, Joe


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-05-27  3:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-27  1:09 [PATCH] scripts:checkpatch - Do not give error if static bool or global bool variables are assigned to false value Shailendra Verma
2015-05-27  1:57 ` Joe Perches
     [not found]   ` <CA+tKcn_1VUQ1cEXYpkPwn3BsSHv3uiY-d2_sfbt_59ZL=jpDfw@mail.gmail.com>
2015-05-27  3:23     ` Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox