sha1-file: add a constant for hash block size
There is one place we need the hash algorithm block size: the HMAC code for push certs. Expose this constant in struct git_hash_algo and expose values for SHA-1 and for the largest value of any hash. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
50c817e0c0
commit
a2ce0a7526
4
cache.h
4
cache.h
@ -45,10 +45,14 @@ unsigned long git_deflate_bound(git_zstream *, unsigned long);
|
|||||||
/* The length in bytes and in hex digits of an object name (SHA-1 value). */
|
/* The length in bytes and in hex digits of an object name (SHA-1 value). */
|
||||||
#define GIT_SHA1_RAWSZ 20
|
#define GIT_SHA1_RAWSZ 20
|
||||||
#define GIT_SHA1_HEXSZ (2 * GIT_SHA1_RAWSZ)
|
#define GIT_SHA1_HEXSZ (2 * GIT_SHA1_RAWSZ)
|
||||||
|
/* The block size of SHA-1. */
|
||||||
|
#define GIT_SHA1_BLKSZ 64
|
||||||
|
|
||||||
/* The length in byte and in hex digits of the largest possible hash value. */
|
/* The length in byte and in hex digits of the largest possible hash value. */
|
||||||
#define GIT_MAX_RAWSZ GIT_SHA1_RAWSZ
|
#define GIT_MAX_RAWSZ GIT_SHA1_RAWSZ
|
||||||
#define GIT_MAX_HEXSZ GIT_SHA1_HEXSZ
|
#define GIT_MAX_HEXSZ GIT_SHA1_HEXSZ
|
||||||
|
/* The largest possible block size for any supported hash. */
|
||||||
|
#define GIT_MAX_BLKSZ GIT_SHA1_BLKSZ
|
||||||
|
|
||||||
struct object_id {
|
struct object_id {
|
||||||
unsigned char hash[GIT_MAX_RAWSZ];
|
unsigned char hash[GIT_MAX_RAWSZ];
|
||||||
|
3
hash.h
3
hash.h
@ -81,6 +81,9 @@ struct git_hash_algo {
|
|||||||
/* The length of the hash in hex characters. */
|
/* The length of the hash in hex characters. */
|
||||||
size_t hexsz;
|
size_t hexsz;
|
||||||
|
|
||||||
|
/* The block size of the hash. */
|
||||||
|
size_t blksz;
|
||||||
|
|
||||||
/* The hash initialization function. */
|
/* The hash initialization function. */
|
||||||
git_hash_init_fn init_fn;
|
git_hash_init_fn init_fn;
|
||||||
|
|
||||||
|
@ -90,6 +90,7 @@ const struct git_hash_algo hash_algos[GIT_HASH_NALGOS] = {
|
|||||||
0x00000000,
|
0x00000000,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
|
0,
|
||||||
git_hash_unknown_init,
|
git_hash_unknown_init,
|
||||||
git_hash_unknown_update,
|
git_hash_unknown_update,
|
||||||
git_hash_unknown_final,
|
git_hash_unknown_final,
|
||||||
@ -102,6 +103,7 @@ const struct git_hash_algo hash_algos[GIT_HASH_NALGOS] = {
|
|||||||
0x73686131,
|
0x73686131,
|
||||||
GIT_SHA1_RAWSZ,
|
GIT_SHA1_RAWSZ,
|
||||||
GIT_SHA1_HEXSZ,
|
GIT_SHA1_HEXSZ,
|
||||||
|
GIT_SHA1_BLKSZ,
|
||||||
git_hash_sha1_init,
|
git_hash_sha1_init,
|
||||||
git_hash_sha1_update,
|
git_hash_sha1_update,
|
||||||
git_hash_sha1_final,
|
git_hash_sha1_final,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user