From: Junio C Hamano Date: Sat, 24 Feb 2024 23:45:28 GMT Subject: Re: [PATCH] fetch: convert strncmp() with strlen() to starts_with() Message-ID: In-Reply-To: René Scharfe writes: > Using strncmp() and strlen() to check whether a string starts with > another one requires repeating the prefix candidate. Use starts_with() > instead, which reduces repetition and is more readable. > > Signed-off-by: René Scharfe > --- > builtin/fetch.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/builtin/fetch.c b/builtin/fetch.c > index 3aedfd1bb6..0a7a1a3476 100644 > --- a/builtin/fetch.c > +++ b/builtin/fetch.c > @@ -448,9 +448,8 @@ static void filter_prefetch_refspec(struct refspec *rs) > continue; > if (!rs->items[i].dst || > (rs->items[i].src && > - !strncmp(rs->items[i].src, > - ref_namespace[NAMESPACE_TAGS].ref, > - strlen(ref_namespace[NAMESPACE_TAGS].ref)))) { > + starts_with(rs->items[i].src, > + ref_namespace[NAMESPACE_TAGS].ref))) { The original tries to check that "namespace" fully matches the initial part of .src string, which is exactly what starts_with() does. Makes sense. > int j; > > free(rs->items[i].src); > -- > 2.44.0