Revert "hash: remove git_hash_init from internal api" This reverts commit efe7fad6c96a3d6197a218aeaa561ec676794499, except for the indentation fixes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
diff --git a/src/hash.h b/src/hash.h
index dc9a79e..5b84898 100644
--- a/src/hash.h
+++ b/src/hash.h
@@ -31,6 +31,7 @@ typedef struct {
size_t len;
} git_buf_vec;
+int git_hash_init(git_hash_ctx *c);
int git_hash_update(git_hash_ctx *c, const void *data, size_t len);
int git_hash_final(git_oid *out, git_hash_ctx *c);
diff --git a/src/hash/hash_generic.c b/src/hash/hash_generic.c
index e496d1f..32fcd86 100644
--- a/src/hash/hash_generic.c
+++ b/src/hash/hash_generic.c
@@ -221,7 +221,7 @@ static void hash__block(git_hash_ctx *ctx, const unsigned int *data)
ctx->H[4] += E;
}
-int git_hash_ctx_init(git_hash_ctx *ctx)
+int git_hash_init(git_hash_ctx *ctx)
{
ctx->size = 0;
diff --git a/src/hash/hash_generic.h b/src/hash/hash_generic.h
index bebf2c2..b731de8 100644
--- a/src/hash/hash_generic.h
+++ b/src/hash/hash_generic.h
@@ -18,6 +18,7 @@ struct git_hash_ctx {
#define git_hash_global_init() 0
#define git_hash_global_shutdown() /* noop */
+#define git_hash_ctx_init(ctx) git_hash_init(ctx)
#define git_hash_ctx_cleanup(ctx)
#endif /* INCLUDE_hash_generic_h__ */
diff --git a/src/hash/hash_win32.c b/src/hash/hash_win32.c
index 3be3ba8..43d54ca 100644
--- a/src/hash/hash_win32.c
+++ b/src/hash/hash_win32.c
@@ -134,7 +134,7 @@ GIT_INLINE(int) hash_ctx_cryptoapi_init(git_hash_ctx *ctx)
ctx->type = CRYPTOAPI;
ctx->prov = &hash_prov;
- return git_hash_ctx_init(ctx);
+ return git_hash_init(ctx);
}
GIT_INLINE(int) hash_cryptoapi_init(git_hash_ctx *ctx)
@@ -262,7 +262,7 @@ int git_hash_ctx_init(git_hash_ctx *ctx)
return (hash_prov.type == CNG) ? hash_ctx_cng_init(ctx) : hash_ctx_cryptoapi_init(ctx);
}
-int git_hash_ctx_init(git_hash_ctx *ctx)
+int git_hash_init(git_hash_ctx *ctx)
{
assert(ctx && ctx->type);
return (ctx->type == CNG) ? hash_cng_init(ctx) : hash_cryptoapi_init(ctx);
diff --git a/tests-clar/object/raw/hash.c b/tests-clar/object/raw/hash.c
index 6e31cfa..ede31e1 100644
--- a/tests-clar/object/raw/hash.c
+++ b/tests-clar/object/raw/hash.c
@@ -35,7 +35,7 @@ void test_object_raw_hash__hash_by_blocks(void)
cl_assert(git_oid_cmp(&id1, &id2) == 0);
/* reinit should permit reuse */
- cl_git_pass(git_hash_ctx_init(&ctx));
+ cl_git_pass(git_hash_init(&ctx));
cl_git_pass(git_hash_update(&ctx, bye_text, strlen(bye_text)));
cl_git_pass(git_hash_final(&id2, &ctx));
cl_git_pass(git_oid_fromstr(&id1, bye_id));