diff --git a/src/sha1.cpp b/src/sha1.cpp index 8930673..8cc4df7 100644 --- a/src/sha1.cpp +++ b/src/sha1.cpp @@ -27,9 +27,9 @@ /* this is only to get definitions for memcpy(), ntohl() and htonl() */ //#include "../git-compat-util.h" +extern "C" { #include #include "sha1.h" - #ifndef WIN32 #include #else @@ -326,3 +326,4 @@ void blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx) for (i = 0; i < 5; i++) put_be32(hashout + i*4, ctx->H[i]); } +} diff --git a/src/sha1.h b/src/sha1.h index 7448b70..ae6148c 100644 --- a/src/sha1.h +++ b/src/sha1.h @@ -25,17 +25,21 @@ * none of the original Mozilla code remains. */ -typedef struct { - unsigned long long size; - unsigned int H[5]; - unsigned int W[16]; -} blk_SHA_CTX; +extern "C" { -void blk_SHA1_Init(blk_SHA_CTX *ctx); -void blk_SHA1_Update(blk_SHA_CTX *ctx, const void *dataIn, unsigned long len); -void blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx); + typedef struct { + unsigned long long size; + unsigned int H[5]; + unsigned int W[16]; + } blk_SHA_CTX; + + void blk_SHA1_Init(blk_SHA_CTX *ctx); + void blk_SHA1_Update(blk_SHA_CTX *ctx, const void *dataIn, unsigned long len); + void blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx); #define git_SHA_CTX blk_SHA_CTX #define git_SHA1_Init blk_SHA1_Init #define git_SHA1_Update blk_SHA1_Update #define git_SHA1_Final blk_SHA1_Final + +}