On 21/04/2022 17:57, Jarkko Sakkinen wrote:
On Thu, Apr 21, 2022 at 05:27:42PM +0200, Mickaël Salaün wrote:
On 21/04/2022 17:12, Jarkko Sakkinen wrote:
On Wed, Apr 20, 2022 at 11:29:08AM +0100, David Howells wrote:
Mickaël Salaün <mic@xxxxxxxxxxx> wrote:
+ /* The following algorithm only works if prefix lengths match. */
+ BUILD_BUG_ON(sizeof(tbs_prefix) != sizeof(bin_prefix));
+ prefix_len = sizeof(tbs_prefix) - 1;
+ for (i = 0; *desc; desc++, i++) {
+ if (*desc == ':') {
+ if (tbs_step == prefix_len)
+ goto found_colon;
+ if (bin_step == prefix_len)
+ goto found_colon;
+ return -EINVAL;
+ }
+ if (i >= prefix_len)
+ return -EINVAL;
+ if (*desc == tbs_prefix[i])
+ tbs_step++;
+ if (*desc == bin_prefix[i])
+ bin_step++;
+ }
I wonder if:
static const char tbs_prefix[] = "tbs:";
static const char bin_prefix[] = "bin:";
if (strncmp(desc, tbs_prefix, sizeof(tbs_prefix) - 1) == 0 ||
strncmp(desc, bin_prefix, sizeof(bin_prefix) - 1) == 0)
goto found_colon;
might be better.
David
I think it'd be.
BR, Jarkko
I'm confused. Didn't you plan to send this patch series before v5.18-rc2?
It's been a while since I started working on this.
That was my original plan but due to some other things, I've sent
a PR for rc4. I CC'd you to the PR.
OK, I missed it. My micro-optimization isn't worth it, strncmp is much
simple indeed.