aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/stack
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/stack')
-rw-r--r--crypto/stack/safestack.h13
-rw-r--r--crypto/stack/stack.c21
-rw-r--r--crypto/stack/stack.h8
3 files changed, 21 insertions, 21 deletions
diff --git a/crypto/stack/safestack.h b/crypto/stack/safestack.h
index da631581f6e..38934981e3f 100644
--- a/crypto/stack/safestack.h
+++ b/crypto/stack/safestack.h
@@ -57,14 +57,13 @@
#include <openssl/stack.h>
-#define STACK_OF(type) struct stack_st_##type
-#define PREDECLARE_STACK_OF(type) STACK_OF(type);
+#define STACK_OF(type) STACK_##type
#define DECLARE_STACK_OF(type) \
-STACK_OF(type) \
+typedef struct stack_st_##type \
{ \
STACK stack; \
- }; \
+ } STACK_OF(type); \
STACK_OF(type) *sk_##type##_new(int (*cmp)(type **,type **)); \
STACK_OF(type) *sk_##type##_new_null(void); \
void sk_##type##_free(STACK_OF(type) *sk); \
@@ -88,7 +87,7 @@ void sk_##type##_sort(STACK_OF(type) *sk);
#define IMPLEMENT_STACK_OF(type) \
STACK_OF(type) *sk_##type##_new(int (*cmp)(type **,type **)) \
- { return (STACK_OF(type) *)sk_new((int (*)())cmp); } \
+ { return (STACK_OF(type) *)sk_new(cmp); } \
STACK_OF(type) *sk_##type##_new_null() \
{ return (STACK_OF(type) *)sk_new_null(); } \
void sk_##type##_free(STACK_OF(type) *sk) \
@@ -115,11 +114,11 @@ int sk_##type##_insert(STACK_OF(type) *sk,type *v,int n) \
{ return sk_insert((STACK *)sk,(char *)v,n); } \
int (*sk_##type##_set_cmp_func(STACK_OF(type) *sk, \
int (*cmp)(type **,type **)))(type **,type **) \
- { return (int (*)(type **,type **))sk_set_cmp_func((STACK *)sk,(int(*)(const void *, const void *))cmp); } \
+ { return (int (*)(type **,type **))sk_set_cmp_func((STACK *)sk,cmp); } \
STACK_OF(type) *sk_##type##_dup(STACK_OF(type) *sk) \
{ return (STACK_OF(type) *)sk_dup((STACK *)sk); } \
void sk_##type##_pop_free(STACK_OF(type) *sk,void (*func)(type *)) \
- { sk_pop_free((STACK *)sk,(void (*)(void *))func); } \
+ { sk_pop_free((STACK *)sk,func); } \
type *sk_##type##_shift(STACK_OF(type) *sk) \
{ return (type *)sk_shift((STACK *)sk); } \
type *sk_##type##_pop(STACK_OF(type) *sk) \
diff --git a/crypto/stack/stack.c b/crypto/stack/stack.c
index 3e2f4d87863..58e9126339b 100644
--- a/crypto/stack/stack.c
+++ b/crypto/stack/stack.c
@@ -74,11 +74,12 @@
const char *STACK_version="Stack" OPENSSL_VERSION_PTEXT;
+#define FP_ICC (int (*)(const void *,const void *))
#include <errno.h>
-int (*sk_set_cmp_func(STACK *sk, int (*c)(const void *,const void *)))(const void *, const void *)
+int (*sk_set_cmp_func(STACK *sk, int (*c)()))(void)
{
- int (*old)(const void *,const void *)=sk->comp;
+ int (*old)()=sk->comp;
if (sk->comp != c)
sk->sorted=0;
@@ -108,7 +109,7 @@ err:
return(NULL);
}
-STACK *sk_new(int (*c)(const void *, const void *))
+STACK *sk_new(int (*c)())
{
STACK *ret;
int i;
@@ -206,7 +207,7 @@ int sk_find(STACK *st, char *data)
{
char **r;
int i;
- int (*comp_func)(const void *,const void *);
+ int (*comp_func)();
if(st == NULL) return -1;
if (st->comp == NULL)
@@ -218,9 +219,9 @@ int sk_find(STACK *st, char *data)
}
sk_sort(st);
if (data == NULL) return(-1);
- comp_func=st->comp;
+ comp_func=(int (*)())st->comp;
r=(char **)bsearch(&data,(char *)st->data,
- st->num,sizeof(char *), comp_func);
+ st->num,sizeof(char *),FP_ICC comp_func);
if (r == NULL) return(-1);
i=(int)(r-st->data);
for ( ; i>0; i--)
@@ -261,7 +262,7 @@ void sk_zero(STACK *st)
st->num=0;
}
-void sk_pop_free(STACK *st, void (*func)(void *))
+void sk_pop_free(STACK *st, void (*func)())
{
int i;
@@ -301,10 +302,10 @@ void sk_sort(STACK *st)
{
if (!st->sorted)
{
- int (*comp_func)(const void *,const void *);
+ int (*comp_func)();
- comp_func=st->comp;
- qsort(st->data,st->num,sizeof(char *), comp_func);
+ comp_func=(int (*)())st->comp;
+ qsort(st->data,st->num,sizeof(char *),FP_ICC comp_func);
st->sorted=1;
}
}
diff --git a/crypto/stack/stack.h b/crypto/stack/stack.h
index a6665f3b30f..a615d9b4c94 100644
--- a/crypto/stack/stack.h
+++ b/crypto/stack/stack.h
@@ -70,7 +70,7 @@ typedef struct stack_st
int sorted;
int num_alloc;
- int (*comp)(const void *, const void *);
+ int (*comp)();
} STACK;
@@ -84,9 +84,9 @@ char *sk_value(STACK *, int);
char *sk_set(STACK *, int, char *);
-STACK *sk_new(int (*cmp)(const void *, const void *));
+STACK *sk_new(int (*cmp)());
void sk_free(STACK *);
-void sk_pop_free(STACK *st, void (*func)(void *));
+void sk_pop_free(STACK *st, void (*func)());
int sk_insert(STACK *sk,char *data,int where);
char *sk_delete(STACK *st,int loc);
char *sk_delete_ptr(STACK *st, char *p);
@@ -96,7 +96,7 @@ int sk_unshift(STACK *st,char *data);
char *sk_shift(STACK *st);
char *sk_pop(STACK *st);
void sk_zero(STACK *st);
-int (*sk_set_cmp_func(STACK *sk, int (*c)(const void *,const void *)))(const void *, const void *);
+int (*sk_set_cmp_func(STACK *sk, int (*c)()))();
STACK *sk_dup(STACK *st);
void sk_sort(STACK *st);