summaryrefslogtreecommitdiff
path: root/crypto/engine/eng_int.h
diff options
context:
space:
mode:
authorgeoff <geoff>2001-10-01 16:26:00 +0000
committergeoff <geoff>2001-10-01 16:26:00 +0000
commit51157d588fb29e6e5ae6716c009c32a8ffa587cf (patch)
treede9b46230ee43ac95746c6b2c4a97cd5b214e99b /crypto/engine/eng_int.h
parentce77ba496c719bdf54b1d7637be9ebb3bc2c5b4d (diff)
downloadopenssl-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.h6
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);