1
0
mirror of https://github.com/git/git synced 2024-07-05 00:58:49 +00:00

Revert "fast-export: use local array to store anonymized oid"

This reverts commit f39ad38410.

That commit was trying to silence a type-punning warning on older
versions of gcc. However, its analysis was all wrong. I didn't notice
that we _were_ in fact type-punning because there are two versions of
put_be32(): one that uses casts and unaligned loads, and another that
uses bitshifts. I looked at the latter, but on my platform we were
defaulting to the former.

However, as of the previous commit, we'll always use the bitshift
version. So we can drop this hackery to avoid the warning, making the
code slightly cleaner.

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-09-24 15:22:29 -04:00 committed by Junio C Hamano
parent c578e29ba0
commit 176380fd11

View File

@ -405,12 +405,12 @@ static char *generate_fake_oid(void *data)
{
static uint32_t counter = 1; /* avoid null oid */
const unsigned hashsz = the_hash_algo->rawsz;
unsigned char out[GIT_MAX_RAWSZ];
struct object_id oid;
char *hex = xmallocz(GIT_MAX_HEXSZ);
hashclr(out);
put_be32(out + hashsz - 4, counter++);
return hash_to_hex_algop_r(hex, out, the_hash_algo);
oidclr(&oid);
put_be32(oid.hash + hashsz - 4, counter++);
return oid_to_hex_r(hex, &oid);
}
static const char *anonymize_oid(const char *oid_hex)