Re: [PATCH V2 2/8] string: fix strncmp function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 18, 2013 at 11:01:15AM -0500, Jason Cooper wrote:
> On Wed, Dec 18, 2013 at 12:52:03PM +0000, Russell King - ARM Linux wrote:
> > Oh, and the other nitpick with the code is this:
> > 
> > 	*(a++)
> > 
> > Really, are those parens really needed?  If you don't know the precendence
> > there, then you really shouldn't be programming in C, because this might
> > also be buggy:
> > 
> > 	*(a++) - *(b++)
> > 
> > because if we declare that we don't know the precedence rules, it could be
> > that this is evaluated as *((a++) - (*(b++))) which would lead to errors!
> > Maybe some more parens should be added to make it clear!  Or maybe we
> > should just learn the precedence rules and realise that:
> > 
> > 	*a++ - *b++
> > 
> > is correct and clear and there's no need for any stupid idiotic parens
> > here.
> > 
> > Yes, I loath unnecessary parens.

and I've also pushed the following:

---------------8<----------------------------
commit 6a5d02f396107b2a0f4337d11e63c12ecd2a49c1
Author: Jason Cooper <jason@xxxxxxxxxxxxxx>
Date:   Wed Dec 18 18:19:38 2013 +0000

    string: remove unneeded parentheses
    
    Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx>

diff --git a/string.c b/string.c
index 0bd71798c4e6..5105490143c8 100644
--- a/string.c
+++ b/string.c
@@ -10,7 +10,7 @@ int strlen(const char *str)
 {
 	const char *c = str;
 
-	while (*(c++))
+	while (*c++)
 		;
 
 	return c - str;
@@ -23,7 +23,7 @@ int strncmp(const char *stra, const char *strb, int len)
 	const char *b = strb;
 
 	while ((a - stra) < len)
-		diff += *(a++) - *(b++);
+		diff += *a++ - *b++;
 
 	return diff;
 }

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [CentOS ARM]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]     [Photos]