Reviewed-by: Matt Caswell <matt@openssl.org>
# 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
#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
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);