diff options
Diffstat (limited to 'remote-curl.c')
-rw-r--r-- | remote-curl.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/remote-curl.c b/remote-curl.c index 71fbbb694f..f404faf0f4 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -168,11 +168,8 @@ static struct ref *parse_info_refs(struct discovery *heads) url.buf); data[i] = 0; ref_name = mid + 1; - ref = xmalloc(sizeof(struct ref) + - strlen(ref_name) + 1); - memset(ref, 0, sizeof(struct ref)); - strcpy(ref->name, ref_name); - get_sha1_hex(start, ref->old_sha1); + ref = alloc_ref(ref_name); + get_oid_hex(start, &ref->old_oid); if (!refs) refs = ref; if (last_ref) @@ -351,7 +348,7 @@ static void output_refs(struct ref *refs) if (posn->symref) printf("@%s %s\n", posn->symref, posn->name); else - printf("%s %s\n", sha1_to_hex(posn->old_sha1), posn->name); + printf("%s %s\n", oid_to_hex(&posn->old_oid), posn->name); } printf("\n"); fflush(stdout); @@ -705,7 +702,7 @@ static int fetch_dumb(int nr_heads, struct ref **to_fetch) if (options.depth) die("dumb http transport does not support --depth"); for (i = 0; i < nr_heads; i++) - targets[i] = xstrdup(sha1_to_hex(to_fetch[i]->old_sha1)); + targets[i] = xstrdup(oid_to_hex(&to_fetch[i]->old_oid)); walker = get_http_walker(url.buf); walker->get_all = 1; @@ -766,7 +763,7 @@ static int fetch_git(struct discovery *heads, if (!*ref->name) die("cannot fetch by sha1 over smart http"); packet_buf_write(&preamble, "%s %s\n", - sha1_to_hex(ref->old_sha1), ref->name); + oid_to_hex(&ref->old_oid), ref->name); } packet_buf_flush(&preamble); @@ -806,19 +803,19 @@ static void parse_fetch(struct strbuf *buf) if (skip_prefix(buf->buf, "fetch ", &p)) { const char *name; struct ref *ref; - unsigned char old_sha1[20]; + struct object_id old_oid; - if (strlen(p) < 40 || get_sha1_hex(p, old_sha1)) + if (get_oid_hex(p, &old_oid)) die("protocol error: expected sha/ref, got %s'", p); - if (p[40] == ' ') - name = p + 41; - else if (!p[40]) + if (p[GIT_SHA1_HEXSZ] == ' ') + name = p + GIT_SHA1_HEXSZ + 1; + else if (!p[GIT_SHA1_HEXSZ]) name = ""; else die("protocol error: expected sha/ref, got %s'", p); ref = alloc_ref(name); - hashcpy(ref->old_sha1, old_sha1); + oidcpy(&ref->old_oid, &old_oid); *list = ref; list = &ref->next; |