diff options
author | Geoff Thorpe <geoff@openssl.org> | 2000-06-01 05:13:52 +0000 |
---|---|---|
committer | Geoff Thorpe <geoff@openssl.org> | 2000-06-01 05:13:52 +0000 |
commit | e41c8d6ad4d1ffab51865d8cf90baff108bbe4a1 (patch) | |
tree | 0743c50a5fb135a2731e418985504664a071bf7a /crypto/stack | |
parent | ccd86b68ef7f9a5cfaaed4089bce29fdc5fe4219 (diff) | |
download | openssl-new-e41c8d6ad4d1ffab51865d8cf90baff108bbe4a1.tar.gz |
This change will cause builds (by default) to not use different STACK
structures and functions for each stack type. The previous behaviour
can be enabled by configuring with the "-DDEBUG_SAFESTACK" option.
This will also cause "make update" (mkdef.pl in particular) to
update the libeay.num and ssleay.num symbol tables with the number of
extra functions DEBUG_SAFESTACK creates.
The way this change works is to accompany each DECLARE_STACK_OF()
macro with a set of "#define"d versions of the sk_##type##_***
functions that ensures all the existing "type-safe" stack calls are
precompiled into the underlying stack calls. The presence or abscence
of the DEBUG_SAFESTACK symbol controls whether this block of
"#define"s or the DECLARE_STACK_OF() macro is taking effect. The
block of "#define"s is in turn generated and maintained by a perl
script (util/mkstack.pl) that encompasses the block with delimiting
C comments. This works in a similar way to the auto-generated error
codes and, like the other such maintenance utilities, is invoked
by the "make update" target.
A long (but mundane) commit will follow this with the results of
"make update" - this will include all the "#define" blocks for
each DECLARE_STACK_OF() statement, along with stripped down
libeay.num and ssleay.num files.
Diffstat (limited to 'crypto/stack')
-rw-r--r-- | crypto/stack/safestack.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/crypto/stack/safestack.h b/crypto/stack/safestack.h index 6a093201dc..228b4f8184 100644 --- a/crypto/stack/safestack.h +++ b/crypto/stack/safestack.h @@ -57,6 +57,8 @@ #include <openssl/stack.h> +#ifdef DEBUG_SAFESTACK + #define STACK_OF(type) struct stack_st_##type #define PREDECLARE_STACK_OF(type) STACK_OF(type); @@ -133,4 +135,13 @@ type *sk_##type##_pop(STACK_OF(type) *sk) \ void sk_##type##_sort(STACK_OF(type) *sk) \ { sk_sort((STACK *)sk); } +#else + +#define STACK_OF(type) STACK +#define PREDECLARE_STACK_OF(type) /* nada */ +#define DECLARE_STACK_OF(type) /* nada */ +#define IMPLEMENT_STACK_OF(type) /* nada */ + +#endif + #endif /* ndef HEADER_SAFESTACK_H */ |