diff options
author | geoff <geoff> | 2001-10-01 16:26:00 +0000 |
---|---|---|
committer | geoff <geoff> | 2001-10-01 16:26:00 +0000 |
commit | 51157d588fb29e6e5ae6716c009c32a8ffa587cf (patch) | |
tree | de9b46230ee43ac95746c6b2c4a97cd5b214e99b /crypto/engine/eng_int.h | |
parent | ce77ba496c719bdf54b1d7637be9ebb3bc2c5b4d (diff) | |
download | openssl-51157d588fb29e6e5ae6716c009c32a8ffa587cf.tar.gz |
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 65ba9d43a..7a7449893 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); |