}
#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \
- IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(/**/, stname, itname, fname)
+ stname *fname##_new(void) \
+ { \
+ return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \
+ } \
+ void fname##_free(stname *a) \
+ { \
+ ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \
+ }
#define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \
IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \
#include <openssl/stack.h>
-#ifdef OPENSSL_NO_FCAST
+#ifndef OPENSSL_ALLOW_FCAST
#ifndef OPENSSL_INLINE
-#define OPENSSL_INLINE static inline
+#ifdef OPENSSL_SYSNAME_WIN32
+#define OPENSSL_INLINE __inline static
+#else
+#define OPENSSL_INLINE inline static
+#endif
#endif
#define STACK_OF(type) struct stack_st_##type
}; \
OPENSSL_INLINE STACK_OF(type) *sk_##type##_new( \
int (*cmp)(const type * const *, const type *const *)) \
- { return (STACK_OF(type) *)sk_new((int (*)())cmp); } \
+ { return (STACK_OF(type) *)sk_new((int (*)(const char * const *, const char * const *))cmp); } \
OPENSSL_INLINE STACK_OF(type) *sk_##type##_new_null() \
{ return (STACK_OF(type) *)sk_new_null(); } \
OPENSSL_INLINE void sk_##type##_free(STACK_OF(type) *sk) \