Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
remote.c: refactor creation of new dst ref
author
Junio C Hamano
<gitster@pobox.com>
Sat, 9 Jun 2007 07:07:34 +0000
(
00:07
-0700)
committer
Junio C Hamano
<gitster@pobox.com>
Sat, 9 Jun 2007 18:53:01 +0000
(11:53 -0700)
This refactors open-coded sequence to create a new "struct ref"
and link it to the tail of dst list into a new function.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
remote.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
54a8ad9
)
diff --git
a/remote.c
b/remote.c
index b53130fb5662cefde477c07bd0ddd9cf43a0854d..f469fb34e41cc9e1d80c0a71ed928a47bbadd267 100644
(file)
--- a/
remote.c
+++ b/
remote.c
@@
-406,6
+406,18
@@
static struct ref *try_explicit_object_name(const char *name)
return ref;
}
return ref;
}
+static struct ref *make_dst(const char *name, struct ref ***dst_tail)
+{
+ struct ref *dst;
+ size_t len;
+
+ len = strlen(name) + 1;
+ dst = xcalloc(1, sizeof(*dst) + len);
+ memcpy(dst->name, name, len);
+ link_dst_tail(dst, dst_tail);
+ return dst;
+}
+
static int match_explicit(struct ref *src, struct ref *dst,
struct ref ***dst_tail,
struct refspec *rs,
static int match_explicit(struct ref *src, struct ref *dst,
struct ref ***dst_tail,
struct refspec *rs,
@@
-447,23
+459,13
@@
static int match_explicit(struct ref *src, struct ref *dst,
case 1:
break;
case 0:
case 1:
break;
case 0:
- if (!memcmp(dst_value, "refs/", 5)) {
- int len = strlen(dst_value) + 1;
- matched_dst = xcalloc(1, sizeof(*dst) + len);
- memcpy(matched_dst->name, dst_value, len);
- link_dst_tail(matched_dst, dst_tail);
- }
- else if (!strcmp(rs->src, dst_value) &&
- matched_src) {
+ if (!memcmp(dst_value, "refs/", 5))
+ matched_dst = make_dst(dst_value, dst_tail);
+ else if (!strcmp(rs->src, dst_value) && matched_src)
/* pushing "master:master" when
* remote does not have master yet.
*/
/* pushing "master:master" when
* remote does not have master yet.
*/
- int len = strlen(matched_src->name) + 1;
- matched_dst = xcalloc(1, sizeof(*dst) + len);
- memcpy(matched_dst->name, matched_src->name,
- len);
- link_dst_tail(matched_dst, dst_tail);
- }
+ matched_dst = make_dst(matched_src->name, dst_tail);
else {
errs = 1;
error("dst refspec %s does not match any "
else {
errs = 1;
error("dst refspec %s does not match any "
@@
-567,11
+569,8
@@
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 */
goto free_name;
if (!dst_peer) {
/* Create a new one and link it */
- int len = strlen(dst_name) + 1;
- dst_peer = xcalloc(1, sizeof(*dst_peer) + len);
- memcpy(dst_peer->name, dst_name, len);
+ dst_peer = make_dst(dst_name, dst_tail);
hashcpy(dst_peer->new_sha1, src->new_sha1);
hashcpy(dst_peer->new_sha1, src->new_sha1);
- link_dst_tail(dst_peer, dst_tail);
}
dst_peer->peer_ref = src;
free_name:
}
dst_peer->peer_ref = src;
free_name: