http: compute hash of downloaded objects using the_hash_algo
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
brian m. carlson committed
Feb 19, 2019 at 00:05 UTC
eed0e60f02bea5cc87830c203de86207c43cc57c
2 files changed
+6
-6
http.c
+5
-5
@@ -2337,8 +2337,8 @@ static size_t fwrite_sha1_file(char *ptr, size_t eltsize, size_t nmemb,
2337
freq->stream.next_out = expn;
2338
freq->stream.avail_out = sizeof(expn);
2339
freq->zret = git_inflate(&freq->stream, Z_SYNC_FLUSH);
2340
- git_SHA1_Update(&freq->c, expn,
2341
- sizeof(expn) - freq->stream.avail_out);
2340
+ the_hash_algo->update_fn(&freq->c, expn,
2341
+ sizeof(expn) - freq->stream.avail_out);
2342
} while (freq->stream.avail_in && freq->zret == Z_OK);
2343
return size;
2344
}
@@ -2396,7 +2396,7 @@ struct http_object_request *new_http_object_request(const char *base_url,
2396
2397
git_inflate_init(&freq->stream);
2398
2399
- git_SHA1_Init(&freq->c);
2399
+ the_hash_algo->init_fn(&freq->c);
2400
2401
freq->url = get_remote_object_url(base_url, hex, 0);
2402
@@ -2431,7 +2431,7 @@ struct http_object_request *new_http_object_request(const char *base_url,
2431
if (prev_read == -1) {
2432
memset(&freq->stream, 0, sizeof(freq->stream));
2433
git_inflate_init(&freq->stream);
2434
- git_SHA1_Init(&freq->c);
2434
+ the_hash_algo->init_fn(&freq->c);
2435
if (prev_posn>0) {
2436
prev_posn = 0;
2437
lseek(freq->localfile, 0, SEEK_SET);
@@ -2502,7 +2502,7 @@ int finish_http_object_request(struct http_object_request *freq)
2502
}
2503
2504
git_inflate_end(&freq->stream);
2505
- git_SHA1_Final(freq->real_oid.hash, &freq->c);
2505
+ the_hash_algo->final_fn(freq->real_oid.hash, &freq->c);
2506
if (freq->zret != Z_STREAM_END) {
2507
unlink_or_warn(freq->tmpfile.buf);
2508
return -1;
http.h
+1
-1
@@ -225,7 +225,7 @@ struct http_object_request {
225
long http_code;
226
struct object_id oid;
227
struct object_id real_oid;
228
- git_SHA_CTX c;
228
+ git_hash_ctx c;
229
git_zstream stream;
230
int zret;
231
int rename;