diff mbox series

[3/4] kbuild: Removes unnecessary shadowed local variable and optimize testing.

Message ID 20181017000912.GA21339@WindFlash (mailing list archive)
State New, archived
Headers show
Series Adds -Wshadow=local on KBUILD_HOSTCFLAGS | expand

Commit Message

Leonardo Bras Oct. 17, 2018, 12:09 a.m. UTC
Removes an unnecessary shadowed local variable (start).
    Optimize test of isdigit:
    - If isalpha returns true, isdigit will return false, so no need to test.

Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
---
 scripts/asn1_compiler.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Helen Koike Oct. 17, 2018, 3:06 a.m. UTC | #1
Hi Leonardo,

On 10/16/18 9:09 PM, Leonardo Brás wrote:
>     Removes an unnecessary shadowed local variable (start).
>     Optimize test of isdigit:
>     - If isalpha returns true, isdigit will return false, so no need to test.

This patch does two different things, it should be in two separated patches.

> 
> Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
> ---
>  scripts/asn1_compiler.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/scripts/asn1_compiler.c b/scripts/asn1_compiler.c
> index c146020fc783..08bb6e5fd6ad 100644
> --- a/scripts/asn1_compiler.c
> +++ b/scripts/asn1_compiler.c
> @@ -413,7 +413,7 @@ static void tokenise(char *buffer, char *end)
>  
>  			/* Handle string tokens */
>  			if (isalpha(*p)) {
> -				const char **dir, *start = p;
> +				const char **dir;
>  
>  				/* Can be a directive, type name or element
>  				 * name.  Find the end of the name.
> @@ -454,10 +454,9 @@ static void tokenise(char *buffer, char *end)
>  
>  				tokens[tix++].token_type = TOKEN_TYPE_NAME;
>  				continue;
> -			}
> +			} else if (isdigit(*p)) {
> +				/* Handle numbers */

Actually you can't do that, p is being altered in the first if statement.

>  
> -			/* Handle numbers */
> -			if (isdigit(*p)) {
>  				/* Find the end of the number */
>  				q = p + 1;
>  				while (q < nl && (isdigit(*q)))
> 

Regards
Helen
Leonardo Bras Oct. 18, 2018, 2:03 a.m. UTC | #2
Hello Helen,

On Wed, Oct 17, 2018 at 12:06 AM Helen Koike <helen@koikeco.de> wrote:
>
> Hi Leonardo,
>
> On 10/16/18 9:09 PM, Leonardo Brás wrote:
> >     Removes an unnecessary shadowed local variable (start).
> >     Optimize test of isdigit:
> >     - If isalpha returns true, isdigit will return false, so no need to test.
>
> This patch does two different things, it should be in two separated patches.
Sure, no problem.

>
> >
> > Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
> > ---
> >  scripts/asn1_compiler.c | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/scripts/asn1_compiler.c b/scripts/asn1_compiler.c
> > index c146020fc783..08bb6e5fd6ad 100644
> > --- a/scripts/asn1_compiler.c
> > +++ b/scripts/asn1_compiler.c
> > @@ -413,7 +413,7 @@ static void tokenise(char *buffer, char *end)
> >
> >                       /* Handle string tokens */
> >                       if (isalpha(*p)) {
> > -                             const char **dir, *start = p;
> > +                             const char **dir;
> >
> >                               /* Can be a directive, type name or element
> >                                * name.  Find the end of the name.
> > @@ -454,10 +454,9 @@ static void tokenise(char *buffer, char *end)
> >
> >                               tokens[tix++].token_type = TOKEN_TYPE_NAME;
> >                               continue;
> > -                     }
> > +                     } else if (isdigit(*p)) {
> > +                             /* Handle numbers */
>
> Actually you can't do that, p is being altered in the first if statement.

Yeah, you are right. I will remove this logic for v2.

>
> >
> > -                     /* Handle numbers */
> > -                     if (isdigit(*p)) {
> >                               /* Find the end of the number */
> >                               q = p + 1;
> >                               while (q < nl && (isdigit(*q)))
> >
>
> Regards
> Helen

Thanks!

Leonardo Brás
Masahiro Yamada Oct. 19, 2018, 2:44 a.m. UTC | #3
On Thu, Oct 18, 2018 at 11:04 AM Leonardo Bras <leobras.c@gmail.com> wrote:
>
> Hello Helen,
>
> On Wed, Oct 17, 2018 at 12:06 AM Helen Koike <helen@koikeco.de> wrote:
> >
> > Hi Leonardo,
> >
> > On 10/16/18 9:09 PM, Leonardo Brás wrote:
> > >     Removes an unnecessary shadowed local variable (start).
> > >     Optimize test of isdigit:
> > >     - If isalpha returns true, isdigit will return false, so no need to test.
> >
> > This patch does two different things, it should be in two separated patches.
> Sure, no problem.
>
> >
> > >
> > > Signed-off-by: Leonardo Brás <leobras.c@gmail.com>
> > > ---
> > >  scripts/asn1_compiler.c | 7 +++----
> > >  1 file changed, 3 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/scripts/asn1_compiler.c b/scripts/asn1_compiler.c
> > > index c146020fc783..08bb6e5fd6ad 100644
> > > --- a/scripts/asn1_compiler.c
> > > +++ b/scripts/asn1_compiler.c
> > > @@ -413,7 +413,7 @@ static void tokenise(char *buffer, char *end)
> > >
> > >                       /* Handle string tokens */
> > >                       if (isalpha(*p)) {
> > > -                             const char **dir, *start = p;
> > > +                             const char **dir;
> > >
> > >                               /* Can be a directive, type name or element
> > >                                * name.  Find the end of the name.
> > > @@ -454,10 +454,9 @@ static void tokenise(char *buffer, char *end)
> > >
> > >                               tokens[tix++].token_type = TOKEN_TYPE_NAME;
> > >                               continue;
> > > -                     }
> > > +                     } else if (isdigit(*p)) {
> > > +                             /* Handle numbers */
> >
> > Actually you can't do that, p is being altered in the first if statement.
>
> Yeah, you are right. I will remove this logic for v2.


I drop v1 from my tree.

Please send v2.


> >
> > >
> > > -                     /* Handle numbers */
> > > -                     if (isdigit(*p)) {
> > >                               /* Find the end of the number */
> > >                               q = p + 1;
> > >                               while (q < nl && (isdigit(*q)))
> > >
> >
> > Regards
> > Helen
>
> Thanks!
>
> Leonardo Brás
diff mbox series

Patch

diff --git a/scripts/asn1_compiler.c b/scripts/asn1_compiler.c
index c146020fc783..08bb6e5fd6ad 100644
--- a/scripts/asn1_compiler.c
+++ b/scripts/asn1_compiler.c
@@ -413,7 +413,7 @@  static void tokenise(char *buffer, char *end)
 
 			/* Handle string tokens */
 			if (isalpha(*p)) {
-				const char **dir, *start = p;
+				const char **dir;
 
 				/* Can be a directive, type name or element
 				 * name.  Find the end of the name.
@@ -454,10 +454,9 @@  static void tokenise(char *buffer, char *end)
 
 				tokens[tix++].token_type = TOKEN_TYPE_NAME;
 				continue;
-			}
+			} else if (isdigit(*p)) {
+				/* Handle numbers */
 
-			/* Handle numbers */
-			if (isdigit(*p)) {
 				/* Find the end of the number */
 				q = p + 1;
 				while (q < nl && (isdigit(*q)))