packed_object_info(): use object_id for returning delta base

If a caller sets the object_info.delta_base_sha1 to a non-NULL pointer,
we'll write the oid of the object's delta base to it. But we can
increase our type safety by switching this to a real object_id struct.
All of our callers are just pointing into the hash member of an
object_id anyway, so there's no inconvenience.

Note that we do still keep it as a pointer-to-struct, because the NULL
sentinel value tells us whether the caller is even interested in the
information.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King
2020-02-23 23:36:56 -05:00
committed by Junio C Hamano
parent 63f4a7fc01
commit b99b6bcc57
5 changed files with 11 additions and 11 deletions

View File

@ -279,9 +279,9 @@ static int deltabase_atom_parser(const struct ref_format *format, struct used_at
if (arg)
return strbuf_addf_ret(err, -1, _("%%(deltabase) does not take arguments"));
if (*atom->name == '*')
oi_deref.info.delta_base_sha1 = oi_deref.delta_base_oid.hash;
oi_deref.info.delta_base_oid = &oi_deref.delta_base_oid;
else
oi.info.delta_base_sha1 = oi.delta_base_oid.hash;
oi.info.delta_base_oid = &oi.delta_base_oid;
return 0;
}