From 1d735267c9fb74892b0db41b567dc55dcc878006 Mon Sep 17 00:00:00 2001 From: Daniel Barkalow Date: Tue, 10 Jul 2007 00:47:26 -0400 Subject: Some cosmetic changes to remote library Functions for managing ref lists were named based on their use in match_refs (for push). For fetch, they will be used for other purposes, so rename them as a separate patch to make the future code readable. Signed-off-by: Daniel Barkalow Signed-off-by: Junio C Hamano --- remote.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'remote.c') diff --git a/remote.c b/remote.c index 616f6f216..09c427906 100644 --- a/remote.c +++ b/remote.c @@ -396,11 +396,12 @@ static int count_refspec_match(const char *pattern, } } -static void link_dst_tail(struct ref *ref, struct ref ***tail) +static void tail_link_ref(struct ref *ref, struct ref ***tail) { **tail = ref; + while (ref->next) + ref = ref->next; *tail = &ref->next; - **tail = NULL; } static struct ref *try_explicit_object_name(const char *name) @@ -424,16 +425,16 @@ static struct ref *try_explicit_object_name(const char *name) return ref; } -static struct ref *make_dst(const char *name, struct ref ***dst_tail) +static struct ref *make_linked_ref(const char *name, struct ref ***tail) { - struct ref *dst; + struct ref *ret; size_t len; len = strlen(name) + 1; - dst = alloc_ref(len); - memcpy(dst->name, name, len); - link_dst_tail(dst, dst_tail); - return dst; + ret = alloc_ref(len); + memcpy(ret->name, name, len); + tail_link_ref(ret, tail); + return ret; } static int match_explicit(struct ref *src, struct ref *dst, @@ -481,7 +482,7 @@ static int match_explicit(struct ref *src, struct ref *dst, break; case 0: if (!memcmp(dst_value, "refs/", 5)) - matched_dst = make_dst(dst_value, dst_tail); + matched_dst = make_linked_ref(dst_value, dst_tail); else error("dst refspec %s does not match any " "existing ref on the remote and does " @@ -591,7 +592,7 @@ int match_refs(struct ref *src, struct ref *dst, struct ref ***dst_tail, goto free_name; if (!dst_peer) { /* Create a new one and link it */ - dst_peer = make_dst(dst_name, dst_tail); + dst_peer = make_linked_ref(dst_name, dst_tail); hashcpy(dst_peer->new_sha1, src->new_sha1); } dst_peer->peer_ref = src; -- cgit v1.2.1