lkml.org 
[lkml]   [2011]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] linux/string.h: Introduce streq macro.
From
Date
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@gmail.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




\
 
 \ /
  Last update: 2011-04-27 03:35    [W:0.940 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site