Make STACK_OF opaque.
authorDr. Stephen Henson <steve@openssl.org>
Thu, 5 Mar 2015 15:17:33 +0000 (15:17 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 5 Mar 2015 15:51:03 +0000 (15:51 +0000)
Reviewed-by: Matt Caswell <matt@openssl.org>
crypto/stack/safestack.h
crypto/stack/stack.c
crypto/stack/stack.h

index bd0397d..ceb0ba8 100644 (file)
@@ -88,16 +88,8 @@ extern "C" {
 # define STACK_OF(type) struct stack_st_##type
 # define PREDECLARE_STACK_OF(type) STACK_OF(type);
 
-# define DECLARE_STACK_OF(type) \
-STACK_OF(type) \
-    { \
-    _STACK stack; \
-    };
-# define DECLARE_SPECIAL_STACK_OF(type, type2) \
-STACK_OF(type) \
-    { \
-    _STACK stack; \
-    };
+# define DECLARE_STACK_OF(type) STACK_OF(type);
+# define DECLARE_SPECIAL_STACK_OF(type, type2) STACK_OF(type);
 
 /*-
  * Strings are special: normally an lhash entry will point to a single
index 758ace9..1b89f55 100644 (file)
 #include <openssl/stack.h>
 #include <openssl/objects.h>
 
+struct stack_st {
+    int num;
+    char **data;
+    int sorted;
+    int num_alloc;
+    int (*comp) (const void *, const void *);
+};
+
 #undef MIN_NODES
 #define MIN_NODES       4
 
index eb07216..6b8869c 100644 (file)
 extern "C" {
 #endif
 
-typedef struct stack_st {
-    int num;
-    char **data;
-    int sorted;
-    int num_alloc;
-    int (*comp) (const void *, const void *);
-} _STACK;                       /* Use STACK_OF(...) instead */
-
-# define M_sk_num(sk)            ((sk) ? (sk)->num:-1)
-# define M_sk_value(sk,n)        ((sk) ? (sk)->data[n] : NULL)
+typedef struct stack_st _STACK; /* Use STACK_OF(...) instead */
 
 int sk_num(const _STACK *);
 void *sk_value(const _STACK *, int);