[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220818214828.22023dc7@thinkpad>
Date: Thu, 18 Aug 2022 21:48:28 +0200
From: Marek Behún <kabel@...nel.org>
To: Andy Shevchenko <andy.shevchenko@...il.com>
Cc: Vinod Koul <vkoul@...nel.org>,
Kishon Vijay Abraham I <kishon@...com>,
Linux Phy <linux-phy@...ts.infradead.org>,
Kees Cook <keescook@...omium.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Daniel Scally <djrscally@...il.com>,
Gregory Clement <gregory.clement@...tlin.com>,
Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Sakari Ailus <sakari.ailus@...ux.intel.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Pali Rohár <pali@...nel.org>,
josef.schlehofer@....cz
Subject: Re: [PATCH linux-phy v2 1/4] string.h: Add str_has_proper_prefix()
On Thu, 18 Aug 2022 22:10:58 +0300
Andy Shevchenko <andy.shevchenko@...il.com> wrote:
> On Wed, Aug 17, 2022 at 11:06 PM Marek Behún <kabel@...nel.org> wrote:
> >
> > Add str_has_proper_prefix(), similar to str_has_prefix(), but requires
> > that the prefix is proper: the string itself must be longer than the
> > prefix.
> >
> > Signed-off-by: Marek Behún <kabel@...nel.org>
> > ---
> > Andy, Kees, could you ack this if it is ok?
>
> Seems to me there are too many strlen():s. One is hidden in strncmp().
I thought this was ok cause gcc has optimizations for this in
https://github.com/gcc-mirror/gcc/blob/master/gcc/tree-ssa-strlen.cc
But now I see that kernel does not declare these functions as inline
that call __builtin_strlen()... so probably the optimizations are not
used.
> Besides not the good naming (what 'proper' means),
The naming comes from similar naming in math: proper subset is as
subset that is not equal to the superset. See
https://en.wikipedia.org/wiki/Substring :
"A proper prefix of a string is not equal to the string itself"
> the entire function is not needed. You may simply call
>
> str_has_prefix() && p[len] != '\0';
>
> Correct?
Do you mean that I should implement this function to simply return
str_has_prefix() && p[len] != '\0'
or that this function should not exist at all and I should do that in
the code where I would have used the function?
Thanks.
Marek
Powered by blists - more mailing lists