Safe stack reorganisation in terms of function casts.
After some messing around this seems to work but needs a few more tests. Working out the syntax for sk_set_cmp_func() (cast it to a function that itself returns a function pointer) was painful :-( Needs some testing to see what other compilers think of this syntax. Also needs similar stuff for ASN1_SET_OF etc etc.
This commit is contained in:
@@ -73,9 +73,6 @@ typedef struct stack_st
|
||||
int (*comp)(const char * const *, const char * const *);
|
||||
} STACK;
|
||||
|
||||
#define sk_new_null() sk_new((int (*)(const char * const *, \
|
||||
const char * const *))NULL)
|
||||
|
||||
#define M_sk_num(sk) ((sk) ? (sk)->num:-1)
|
||||
#define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL)
|
||||
|
||||
@@ -85,6 +82,7 @@ char *sk_value(const STACK *, int);
|
||||
char *sk_set(STACK *, int, char *);
|
||||
|
||||
STACK *sk_new(int (*cmp)(const char * const *, const char * const *));
|
||||
STACK *sk_new_null(void);
|
||||
void sk_free(STACK *);
|
||||
void sk_pop_free(STACK *st, void (*func)(void *));
|
||||
int sk_insert(STACK *sk,char *data,int where);
|
||||
|
Reference in New Issue
Block a user