lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 26 Apr 2011 21:32:01 -0400
From:	Steven Rostedt <rostedt@...dmis.org>
To:	Ted Ts'o <tytso@....edu>
Cc:	Thiago Farina <tfransosi@...il.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] linux/string.h: Introduce streq macro.

On Tue, 2011-04-26 at 20:52 -0400, Ted Ts'o wrote:
> On Tue, Apr 26, 2011 at 03:49:49PM -0300, Thiago Farina wrote:
> > This macro is arguably more readable than its variants:
> > - !strcmp(a, b)
> > - strcmp(a, b) == 0
> > 
> > Signed-off-by: Thiago Farina <tfransosi@...il.com>
> 
> I don't think this is not a good idea.
> 
> First of all, changing 2800 instances of strcmp will induce a huge
> amount of code churn, that will cause patches to break, etc.  And
> whether streq() looks better is going to be very much a case of
> personal preference.  I'm so used to !strcmp(a, b) that streq(a, b)
> would be harder for me, just because I'm not used to it.
> 
> So I'd NACK a change like this to any parts of the kernel that I'm
> maintaining.  If another people feel that way, it's not clear that
> having two different conventions in the kernel would necessarily help...
> 

I agree that this entire thing is all about personal preference, and
that a lot of these conventions is determined by who maintains the code.

This all started when I changed code that I need to maintain from:

	if (0 == var)

to

	if (var == 0)

I understand why the first is done, but it just trips me up every time I
see it.

I also prefer:

	if (strcmp(a, b) == 0)

over

	if (!strcmp(a, b))

because the ! in that statement makes my mind say "a != b". But again,
this is all about preference.

As for me, I would not mind a streq() as it is a different
function/macro, that I would not get it confused with strcmp().

I acked the patch, because I would not NAK changes that converted the
strcmp() to streq() in my code (as long as it was done correctly).

-- Steve


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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ