streq(), wcseq(): New functions to compare strings for equality
Alejandro Colomar
alx@kernel.org
Fri Aug 29 17:14:10 GMT 2025
Hi Collin,
On Fri, Aug 29, 2025 at 10:03:38AM -0700, Collin Funk wrote:
> Wilco Dijkstra <Wilco.Dijkstra@arm.com> writes:
>
> > That's a lot of extra overhead, so most people would continue using
> >
> > #define streq(X,Y) strcmp(X,Y) == 0
> >
> > as that's simpler and faster.
>
> I don't think it is too much of an issue to write this in projects if
> they want them personally:
>
> static inline bool
> streq (char const *a, char const *b)
> {
> return ! strcmp (a, b);
> }
>
> static inline bool
> strneq (char const *a, char const *b)
> {
> return !! strcmp (a, b);
> }
Once you start wrapping every other libc API that is imperfect, you end
up having your own string library with somewhere around 30 or 40
functions. And at that point, given that every project has their
slightly different names and slightly different function prototypes,
contributors don't know what to expect from the code.
That's why having a system string library is a good thing. Everybody
talks the same language.
After all, I don't think it is too much of an issue to write the same
inline function in glibc, once and for all.
Have a lovely day!
Alex
>
> Collin
--
<https://www.alejandro-colomar.es>
Use port 80 (that is, <...:80/>).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20250829/66114620/attachment.sig>
More information about the Libc-alpha
mailing list