From 50e19a83585bd1aeae6aa01d31e5f783b7ef8b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scharfe?= Date: Fri, 6 Jun 2014 19:24:48 +0200 Subject: Use starts_with() for C strings instead of memcmp() Convert three cases of checking for a constant prefix using memcmp() to starts_with(). This way there is no need for magic string length constants and we avoid running over the end of the string should it be shorter than the prefix. Signed-off-by: Rene Scharfe Signed-off-by: Junio C Hamano --- builtin/for-each-ref.c | 2 +- fetch-pack.c | 2 +- remote.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c index 3e1d5c333..4135980f2 100644 --- a/builtin/for-each-ref.c +++ b/builtin/for-each-ref.c @@ -193,7 +193,7 @@ static int verify_format(const char *format) at = parse_atom(sp + 2, ep); cp = ep + 1; - if (!memcmp(used_atom[at], "color:", 6)) + if (starts_with(used_atom[at], "color:")) need_color_reset_at_eol = !!strcmp(used_atom[at], color_reset); } return 0; diff --git a/fetch-pack.c b/fetch-pack.c index eeee2bb7e..b12bd4c59 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -507,7 +507,7 @@ static void filter_refs(struct fetch_pack_args *args, int keep = 0; next = ref->next; - if (!memcmp(ref->name, "refs/", 5) && + if (starts_with(ref->name, "refs/") && check_refname_format(ref->name, 0)) ; /* trash */ else { diff --git a/remote.c b/remote.c index eea2c8de4..0f6ef36b7 100644 --- a/remote.c +++ b/remote.c @@ -1194,7 +1194,7 @@ static int match_explicit(struct ref *src, struct ref *dst, case 1: break; case 0: - if (!memcmp(dst_value, "refs/", 5)) + if (starts_with(dst_value, "refs/")) matched_dst = make_linked_ref(dst_value, dst_tail); else if (is_null_sha1(matched_src->new_sha1)) error("unable to delete '%s': remote ref does not exist", -- cgit v1.2.1