summaryrefslogtreecommitdiffstats
path: root/crypto/engine/eng_int.h
diff options
context:
space:
mode:
authorGeoff Thorpe <geoff@openssl.org>2001-10-01 16:26:00 +0000
committerGeoff Thorpe <geoff@openssl.org>2001-10-01 16:26:00 +0000
commit5c32657c80d6d53618002019be679bc5816aef75 (patch)
tree97d069f98c7ead4b866e8f7ab1e34a05f6af30ff /crypto/engine/eng_int.h
parent07cee70258d43719f2d243ce667334ee5239463a (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.h6
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);