From e5aecaf62a6a6d88bd082904608952675aec6802 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Thu, 4 Apr 2019 18:45:30 +0100 Subject: sha1: don't inline `git_hash_global_init` for win32 Users of the Win32 hash cannot be inlined, as it uses a static struct. Don't inline it, but continue to declare the function in the header. --- src/hash/hash_win32.c | 15 +++++++++++++++ src/hash/hash_win32.h | 15 +-------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/hash/hash_win32.c b/src/hash/hash_win32.c index 792298f39..4b6830358 100644 --- a/src/hash/hash_win32.c +++ b/src/hash/hash_win32.c @@ -109,6 +109,21 @@ static void git_hash_global_shutdown(void) hash_cryptoapi_prov_shutdown(); } +int git_hash_global_init(void) +{ + int error = 0; + + if (hash_prov.type != INVALID) + return 0; + + if ((error = hash_cng_prov_init()) < 0) + error = hash_cryptoapi_prov_init(); + + git__on_shutdown(git_hash_global_shutdown); + + return error; +} + /* CryptoAPI: available in Windows XP and newer */ GIT_INLINE(int) hash_ctx_cryptoapi_init(git_hash_ctx *ctx) diff --git a/src/hash/hash_win32.h b/src/hash/hash_win32.h index 6cddcaa72..ca448c241 100644 --- a/src/hash/hash_win32.h +++ b/src/hash/hash_win32.h @@ -138,19 +138,6 @@ struct git_hash_ctx { } ctx; }; -GIT_INLINE(int) git_hash_global_init(void) -{ - int error = 0; - - if (hash_prov.type != INVALID) - return 0; - - if ((error = hash_cng_prov_init()) < 0) - error = hash_cryptoapi_prov_init(); - - git__on_shutdown(git_hash_global_shutdown); - - return error; -} +extern int git_hash_global_init(void); #endif -- cgit v1.2.1