Messages in this thread | | | Subject | Re: [PATCH] linux/string.h: Introduce streq macro. | From | Steven Rostedt <> | Date | Tue, 26 Apr 2011 21:32:01 -0400 |
| |
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
| |