diff options
author | Nicolas Pitre <nico@cam.org> | 2007-03-20 16:02:09 -0400 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-03-20 22:09:57 -0700 |
commit | ce9fbf16e0000ecca92870a90e4b30afcb3917b7 (patch) | |
tree | abad04ae3251030ae598bfb090a978d241b0e659 /index-pack.c | |
parent | 8685da42561d16bb01aeaa1a2392459965187925 (diff) | |
download | git-ce9fbf16e0000ecca92870a90e4b30afcb3917b7.tar.gz |
index-pack: use hash_sha1_file()
Use hash_sha1_file() instead of duplicating code to compute object SHA1.
While at it make it accept a const pointer.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'index-pack.c')
-rw-r--r-- | index-pack.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/index-pack.c b/index-pack.c index 4effb2da6d..f314937a5b 100644 --- a/index-pack.c +++ b/index-pack.c @@ -348,26 +348,7 @@ static void sha1_object(const void *data, unsigned long size, enum object_type type, unsigned char *sha1, int test_for_collision) { - SHA_CTX ctx; - char header[50]; - int header_size; - const char *type_str; - - switch (type) { - case OBJ_COMMIT: type_str = commit_type; break; - case OBJ_TREE: type_str = tree_type; break; - case OBJ_BLOB: type_str = blob_type; break; - case OBJ_TAG: type_str = tag_type; break; - default: - die("bad type %d", type); - } - - header_size = sprintf(header, "%s %lu", type_str, size) + 1; - - SHA1_Init(&ctx); - SHA1_Update(&ctx, header, header_size); - SHA1_Update(&ctx, data, size); - SHA1_Final(sha1, &ctx); + hash_sha1_file(data, size, typename(type), sha1); if (test_for_collision && has_sha1_file(sha1)) { void *has_data; |