[systemd-devel] [PATCH] Replace hasprefix() with startswith()
WANG Chao
chaowang at redhat.com
Wed Aug 21 09:53:43 PDT 2013
Hi, Kay!
On 08/21/13 at 12:05pm, Kay Sievers wrote:
> On Wed, Aug 21, 2013 at 8:36 AM, WANG Chao <chaowang at redhat.com> wrote:
>
> > --- a/TODO
> > +++ b/TODO
> > @@ -96,8 +96,6 @@ Features:
> >
> > -* do we really need both hasprefix() and startswith()?
>
> It needs a little bit more:
> - the open-coded startswith seems really slow, it should not get more users
> - hasprefix can no longer be compile-time optimized, which is not good
Apart from the overflow issue hasprefix has, may I ask why hasprefix
can't be complile-time optimized now? What changed?
>
> We might want something like this:
> http://lists.freedesktop.org/archives/systemd-devel/2013-July/011860.html
It looks like Lennart has already figured out an optimized startswith:
#define startswith(s, prefix) ({ \
size_t _l; \
_l = strlen(prefix); \
strncmp(s, prefix, _l) == 0 ? s + _l : NULL; \
})
IMHO, using strncmp() is fast enough. What do you think?
Thanks!
WANG Chao
More information about the systemd-devel
mailing list