The compiler may complain about what looks like a double definition of a
authorRichard Levitte <levitte@openssl.org>
Tue, 27 Jul 2004 13:58:27 +0000 (13:58 +0000)
committerRichard Levitte <levitte@openssl.org>
Tue, 27 Jul 2004 13:58:27 +0000 (13:58 +0000)
static variable

e_os2.h

diff --git a/e_os2.h b/e_os2.h
index 04d00ec78d70fa383731c64aca8b5846793ebb08..292ea1e2ac4507ff4ed661b8859d8847b9aa76f0 100644 (file)
--- a/e_os2.h
+++ b/e_os2.h
@@ -267,9 +267,10 @@ extern "C" {
        #define foobar OPENSSL_GLOBAL_REF(foobar)
 */
 #ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION
        #define foobar OPENSSL_GLOBAL_REF(foobar)
 */
 #ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION
-# define OPENSSL_IMPLEMENT_GLOBAL(type,name) static type _hide_##name; \
-        type *_shadow_##name(void) { return &_hide_##name; } \
-        static type _hide_##name
+# define OPENSSL_IMPLEMENT_GLOBAL(type,name)                        \
+       extern 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()))
 #else
 # define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void)
 # define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))
 #else