[PATCH 2/6] csum-file.c: extract algop from hashfile_checksum_valid()
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Nov 20, 2024, 19:13 UTC
- Message-ID
- <e5076f003bf5a53fc63bb673213988328c50c98e.1732130001.git.me@ttaylorr.com>
- In-Reply-To
- <cover.1732130001.git.me@ttaylorr.com>
Perform a similar transformation as in the previous commit, but focused instead on hashfile_checksum_valid(). This function does not work with a hashfile structure itself, and instead validates the raw contents of a file written using the hashfile API.
We'll want to be prepared for a similar change to this function in the future, so prepare ourselves for that by extracting 'the_hash_algo' into its own field for use within this function.
Signed-off-by: Taylor Blau <me@ttaylorr.com> --- csum-file.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/csum-file.c b/csum-file.c index 62f4965f094..107bc4c96f9 100644 --- a/csum-file.c +++ b/csum-file.c @@ -242,14 +242,15 @@ int hashfile_checksum_valid(const unsigned char *data, size_t total_len) { unsigned char got[GIT_MAX_RAWSZ]; git_hash_ctx ctx; - size_t data_len = total_len - the_hash_algo->rawsz; + const struct git_hash_algo *algop = the_hash_algo; + size_t data_len = total_len - algop->rawsz; - if (total_len < the_hash_algo->rawsz) + if (total_len < algop->rawsz) return 0; /* say "too short"? */ - the_hash_algo->unsafe_init_fn(&ctx); - the_hash_algo->unsafe_update_fn(&ctx, data, data_len); - the_hash_algo->unsafe_final_fn(got, &ctx); + algop->unsafe_init_fn(&ctx); + algop->unsafe_update_fn(&ctx, data, data_len); + algop->unsafe_final_fn(got, &ctx); - return hasheq(got, data + data_len, the_repository->hash_algo); + return hasheq(got, data + data_len, algop); }
-- 2.47.0.237.gc601277f4c4