Re: [PATCH] string: implement streq()

From: Alexey Dobriyan
Date: Tue Apr 04 2023 - 10:55:19 EST


On Mon, Apr 03, 2023 at 02:16:41PM -0700, Andrew Morton wrote:
> On Sat, 1 Apr 2023 20:48:05 +0300 Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:
>
> > Most of the time strcmp() is being used, strings are checked for equality.
> > Add wrapper to relay such intent (it is shorter to type, too).
> >
> > Use
> > if (streq(s, "s")) {
> > }
> > or
> > if (!streq(s, "s")) {
> > }
>
> Gee, do we really want this? I mean, we all know how strcmp() works,
> don't we?
>
> I'm thinking it would be better to remove the various cute little
> streq() macros and open-code strcmp(...)==0.

No! It's cool, trust me. Try it out, you'll like it.
We "know" how strcmp() works because C didn't have streq() from
the very beginning.

strcmp() is only for insertion into trees. Half of the time you need
to read to the end of the expression to know if it is check for equality
or inequality. With streq(), you don't.

stralexey