From 43b2b3ccf65b18362a492ed3643eada7f9dba0d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soutad=C3=A9?= Date: Sun, 14 Aug 2011 17:53:30 +0200 Subject: [PATCH] Use extern "C" for sha1 --- src/sha1.cpp | 3 ++- src/sha1.h | 20 ++++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) 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 + +}