From 2c730f6fc294357eb032e8ad85d51d40738f2290 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Wed, 9 Nov 2005 17:11:03 +0000 Subject: Improve cross-compiler portability of applink.c module and mention CRYPTO_malloc_init in FAQ. --- ms/applink.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'ms/applink.c') diff --git a/ms/applink.c b/ms/applink.c index e2d066bc1e..54a0a64262 100644 --- a/ms/applink.c +++ b/ms/applink.c @@ -39,7 +39,20 @@ static int app_fileno(FILE *fp) { return _fileno(fp); } static int app_fsetmod(FILE *fp,char mod) { return _setmode (_fileno(fp),mod=='b'?_O_BINARY:_O_TEXT); } -__declspec(dllexport) void **OPENSSL_Applink(void) +#ifdef __cplusplus +extern "C" { +#endif + +__declspec(dllexport) +void ** +#if defined(__BORLANDC__) +__stdcall /* __stdcall appears to be the only way to get the name + * decoration right with Borland C. Otherwise it works + * purely incidentally, as we pass no parameters. */ +#else +__cdecl +#endif +OPENSSL_Applink(void) { static int once=1; static void *OPENSSL_ApplinkTable[APPLINK_MAX+1]={(void *)APPLINK_MAX}; @@ -74,4 +87,8 @@ __declspec(dllexport) void **OPENSSL_Applink(void) return OPENSSL_ApplinkTable; } + +#ifdef __cplusplus +} +#endif #endif -- cgit v1.2.3