Commit 8005c6d420a2d8f00d96c1c0a385db91c88613c0

Michael Schubert 2013-02-26T01:03:56

Revert "hash: remove git_hash_init from internal api" This reverts commit efe7fad6c96a3d6197a218aeaa561ec676794499, except for the indentation fixes.

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));