Messages in this thread | | | Subject | Re: [PATCH] scripts:checkpatch - Do not give error if static bool or global bool variables are assigned to false value. | From | Joe Perches <> | Date | Tue, 26 May 2015 18:57:00 -0700 |
| |
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
| |