On Wed, Sep 17, 2025 at 11:29:59AM +0200, Alejandro Colomar wrote: > Hi Collin, > > On Wed, Sep 17, 2025 at 01:43:10AM -0700, Collin Funk wrote: > > Alejandro Colomar <[email protected]> writes: > > > > >> As Gnulib already has a streq module with different meaning, I named the > > >> new > > >> module "stringeq"; it implements both streq and memeq in <string.h>. > > >> There > > >> seemed little point to having a separate module per function. > > > > > > Maybe it would be good to call the module just 'string' so that we can > > > add more functions to it? I have a list of other similar functions that > > > I'm proposing for standardization. A few obvious ones are: > > > > The string module exists as an alias to string-h. We unified the naming > > conventions for headers a few months ago [1]. > > Hmm. Maybe we could include these functions in the string-h module?
Or maybe a more-strings module, that has more string APIs. But I'd use a generic name that allows us adding more functions. > > > > <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3612.txt> > > > strpfx() - string prefix (returns boolean, for compatibility with streq) > > > stppfx() - string prefix (returns pointer) > > > > > > <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3613.txt> > > > strsfx() - string suffix (returns boolean, for compatibility with streq) > > > stpsfx() - string suffix (returns pointer) > > > > We have str_startswith() and str_endswith() already for this. > > There's a problem with str_startswith(): It only returns a boolean. > I have many use cases where I need a pointer to the end of the prefix. > It allows jumping over the prefix. Here's one example that I use in > shadow utils (currently, you'll find it as strprefix(); we're in the > process of renaming it): > > tty = stppfx(tty, "/dev/") ?: tty; > > > I prefer > > those names personally. But I don't like many of the string.h names we > > are stuck with (e.g. strspn, strcspn), so maybe it is a me problem. :) > > :) > > The <string.h> names are a bit cryptic, and some of them could be > better (e.g., strpbrk(3) should have been called strchrs()), but they > are quite consistent, and I like that. They have names that --once you > grok the conventions-- tell a lot of information in very little space. > > > Cheers, > Alex > > > > > Collin > > > > [1] > > https://github.com/coreutils/gnulib/blob/c172e838f939f7c97daed1a80a7ec3479b4c43c6/modules/string > > -- > <https://www.alejandro-colomar.es/> -- <https://www.alejandro-colomar.es/>
signature.asc
Description: PGP signature
