diff options
author | brian m. carlson <sandals@crustytoothpaste.net> | 2017-10-15 22:06:54 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-10-16 11:05:50 +0900 |
commit | 6ccac9eed56280f035d84605b4451ae1721a3100 (patch) | |
tree | e46294f721012ad1d50682ea65151b45c6f1f8a1 /connected.c | |
parent | 89f3bbdd3b1f46a5747aa5618b7742f7b3f2adef (diff) | |
download | git-6ccac9eed56280f035d84605b4451ae1721a3100.tar.gz |
Convert check_connected to use struct object_id
Convert check_connected and the callbacks it takes to use struct
object_id.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
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 f416b05051..4a47f33270 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")); |