diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2017-10-28 09:27:15 +0200 |
---|---|---|
committer | Michael Haggerty <mhagger@alum.mit.edu> | 2017-10-28 09:27:15 +0200 |
commit | ff08e56cde739152a59a86f5aa996954a2ec0614 (patch) | |
tree | 9c7bc94151c5a082377ecb438e66aea140924edb /connected.c | |
parent | 2f899857a9f425cb59f8a15c2ea7a52100c51a23 (diff) | |
parent | 4f01e5080c4a7eee69da47c958888358e6127584 (diff) | |
download | git-ff08e56cde739152a59a86f5aa996954a2ec0614.tar.gz git-ff08e56cde739152a59a86f5aa996954a2ec0614.tar.xz |
Merge branch 'bc/object-id' into base
Diffstat (limited to 'connected.c')
-rw-r--r-- | connected.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/connected.c b/connected.c index f416b0505..4a47f3327 100644 --- a/connected.c +++ b/connected.c @@ -16,13 +16,13 @@ * * Returns 0 if everything is connected, non-zero otherwise. */ -int check_connected(sha1_iterate_fn fn, void *cb_data, +int check_connected(oid_iterate_fn fn, void *cb_data, struct check_connected_options *opt) { struct child_process rev_list = CHILD_PROCESS_INIT; struct check_connected_options defaults = CHECK_CONNECTED_INIT; - char commit[41]; - unsigned char sha1[20]; + char commit[GIT_MAX_HEXSZ + 1]; + struct object_id oid; int err = 0; struct packed_git *new_pack = NULL; struct transport *transport; @@ -32,7 +32,7 @@ int check_connected(sha1_iterate_fn fn, void *cb_data, opt = &defaults; transport = opt->transport; - if (fn(cb_data, sha1)) { + if (fn(cb_data, &oid)) { if (opt->err_fd) close(opt->err_fd); return err; @@ -77,7 +77,7 @@ int check_connected(sha1_iterate_fn fn, void *cb_data, sigchain_push(SIGPIPE, SIG_IGN); - commit[40] = '\n'; + commit[GIT_SHA1_HEXSZ] = '\n'; do { /* * If index-pack already checked that: @@ -87,17 +87,17 @@ int check_connected(sha1_iterate_fn fn, void *cb_data, * are sure the ref is good and not sending it to * rev-list for verification. */ - if (new_pack && find_pack_entry_one(sha1, new_pack)) + if (new_pack && find_pack_entry_one(oid.hash, new_pack)) continue; - memcpy(commit, sha1_to_hex(sha1), 40); - if (write_in_full(rev_list.in, commit, 41) < 0) { + memcpy(commit, oid_to_hex(&oid), GIT_SHA1_HEXSZ); + if (write_in_full(rev_list.in, commit, GIT_SHA1_HEXSZ + 1) < 0) { if (errno != EPIPE && errno != EINVAL) error_errno(_("failed write to rev-list")); err = -1; break; } - } while (!fn(cb_data, sha1)); + } while (!fn(cb_data, &oid)); if (close(rev_list.in)) err = error_errno(_("failed to close rev-list's stdin")); |