Re: [PATCH] linux/string.h: Introduce streq macro.

From: Steven Rostedt
Date: Wed Apr 27 2011 - 13:08:08 EST


On Wed, 2011-04-27 at 17:46 +0100, Al Viro 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
>
> Strongly NACKed. As far as I'm concerned, it's in the same shitbucket as
> bcopy(3), bzero(3) et.al. Use idiomatic C; extensions of that kind are
> *bad*, since new developers have to learn them.

What developer has to really learn streq()? I mean it is pretty obvious
to what it does, as suppose to what bzero and bcopy do. A quick google
on "streq" brings up lots of matches of people who already do this.

Actually, some have "optimized" it with:

#define streq(a, b) (*(a) == *(b) && strcmp(a, b) == 0)

As it fails out if the first character does not match (likely the case
if strings do not match) before it calls the strcmp function.

-- Steve


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