# if defined(_WINDLL) /* This is used when building OpenSSL to indicate that
DLL linkage should be used */
# define OPENSSL_OPT_WINDLL
-# elif defined(_DLL) /* This one is used quite much in the VC++ header
- files */
-# define OPENSSL_OPT_WINDLL
# endif
# endif
#endif
#define foobar OPENSSL_GLOBAL_REF(foobar)
*/
#ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION
-# define OPENSSL_IMPLEMENT_GLOBAL(type,name) extern static type _hide_##name; \
- type *_shadow_##name(void) { static type local_var; return &local_var; } \
+# define OPENSSL_IMPLEMENT_GLOBAL(type,name) static type _hide_##name; \
+ type *_shadow_##name(void) { return &_hide_##name; } \
static type _hide_##name
# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void)
# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))