diff options
author | Geoff Thorpe <geoff@openssl.org> | 2001-10-01 16:26:00 +0000 |
---|---|---|
committer | Geoff Thorpe <geoff@openssl.org> | 2001-10-01 16:26:00 +0000 |
commit | 5c32657c80d6d53618002019be679bc5816aef75 (patch) | |
tree | 97d069f98c7ead4b866e8f7ab1e34a05f6af30ff /crypto/engine/eng_int.h | |
parent | 07cee70258d43719f2d243ce667334ee5239463a (diff) |
The STACK macros take care of casting to and from the designated item type
of the stack, and the (void *) type used in the underlying sk_***
functions. However, declaring a STACK_OF(type) where type is a *function*
type implicitly involves casts between function pointers and data pointers.
That's a no-no. This changes the ENGINE_CLEANUP handling to use a regular
data type in the stack.
Diffstat (limited to 'crypto/engine/eng_int.h')
-rw-r--r-- | crypto/engine/eng_int.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/engine/eng_int.h b/crypto/engine/eng_int.h index 65ba9d43a6..7a74498930 100644 --- a/crypto/engine/eng_int.h +++ b/crypto/engine/eng_int.h @@ -92,7 +92,11 @@ extern "C" { * order. NB: both the "add" functions assume CRYPTO_LOCK_ENGINE to already be * held (in "write" mode). */ typedef void (ENGINE_CLEANUP_CB)(void); -DECLARE_STACK_OF(ENGINE_CLEANUP_CB) +typedef struct st_engine_cleanup_item + { + ENGINE_CLEANUP_CB *cb; + } ENGINE_CLEANUP_ITEM; +DECLARE_STACK_OF(ENGINE_CLEANUP_ITEM) void engine_cleanup_add_first(ENGINE_CLEANUP_CB *cb); void engine_cleanup_add_last(ENGINE_CLEANUP_CB *cb); |