Re: [PATCH] fetch: convert strncmp() with strlen() to starts_with()
From: Junio C Hamano <hidden>
Date: 2024-02-24 23:45:35
René Scharfe [off-list ref] writes:
quoted hunk
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 <redacted> --- 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