diff options
| author | Patrick Steinhardt <ps@pks.im> | 2024-06-14 08:49:54 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-06-14 10:26:32 -0700 |
| commit | 9da95bda74cf10e1475384a71fd20914c3b99784 (patch) | |
| tree | fb145c3883d83c86ecf5bf7fa188937afe77b1e0 /packfile.c | |
| parent | f4836570a7adbd8c70ad7a8edf6ae5a977647c06 (diff) | |
| download | git-9da95bda74cf10e1475384a71fd20914c3b99784.tar.xz | |
hash: require hash algorithm in `oidread()` and `oidclr()`
Both `oidread()` and `oidclr()` use `the_repository` to derive the hash
function that shall be used. Require callers to pass in the hash
algorithm to get rid of this implicit dependency.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'packfile.c')
| -rw-r--r-- | packfile.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/packfile.c b/packfile.c index 9156e9122c..ec7312cd20 100644 --- a/packfile.c +++ b/packfile.c @@ -1251,7 +1251,7 @@ static int get_delta_base_oid(struct packed_git *p, { if (type == OBJ_REF_DELTA) { unsigned char *base = use_pack(p, w_curs, curpos, NULL); - oidread(oid, base); + oidread(oid, base, the_repository->hash_algo); return 0; } else if (type == OBJ_OFS_DELTA) { uint32_t base_pos; @@ -1593,7 +1593,7 @@ int packed_object_info(struct repository *r, struct packed_git *p, goto out; } } else - oidclr(oi->delta_base_oid); + oidclr(oi->delta_base_oid, the_repository->hash_algo); } oi->whence = in_delta_base_cache(p, obj_offset) ? OI_DBCACHED : @@ -1917,10 +1917,12 @@ int nth_packed_object_id(struct object_id *oid, return -1; index += 4 * 256; if (p->index_version == 1) { - oidread(oid, index + st_add(st_mult(hashsz + 4, n), 4)); + oidread(oid, index + st_add(st_mult(hashsz + 4, n), 4), + the_repository->hash_algo); } else { index += 8; - oidread(oid, index + st_mult(hashsz, n)); + oidread(oid, index + st_mult(hashsz, n), + the_repository->hash_algo); } return 0; } |
