summaryrefslogtreecommitdiffstats
path: root/crypto/x509
diff options
context:
space:
mode:
authorBen Laurie <ben@openssl.org>2008-10-12 14:32:47 +0000
committerBen Laurie <ben@openssl.org>2008-10-12 14:32:47 +0000
commitbabb379849ffb4112792f266f92e9ebb2bd35332 (patch)
treed401aa7a4af8cc1180fe602711897a50d8feb74f /crypto/x509
parent6665ef303e837ed45654d1b5dd42123e7a51b0f4 (diff)
Type-checked (and modern C compliant) OBJ_bsearch.
Diffstat (limited to 'crypto/x509')
-rw-r--r--crypto/x509/x509_vpm.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/crypto/x509/x509_vpm.c b/crypto/x509/x509_vpm.c
index e9db6d62a7..9c37c4ded3 100644
--- a/crypto/x509/x509_vpm.c
+++ b/crypto/x509/x509_vpm.c
@@ -356,12 +356,17 @@ static const X509_VERIFY_PARAM default_table[] = {
static STACK_OF(X509_VERIFY_PARAM) *param_table = NULL;
-static int table_cmp(const void *pa, const void *pb)
+static int table_cmp(const X509_VERIFY_PARAM *a, const X509_VERIFY_PARAM *b)
+
{
- const X509_VERIFY_PARAM *a = pa, *b = pb;
return strcmp(a->name, b->name);
}
+DECLARE_OBJ_BSEARCH_CMP_FN(const X509_VERIFY_PARAM, const X509_VERIFY_PARAM,
+ table_cmp);
+IMPLEMENT_OBJ_BSEARCH_CMP_FN(const X509_VERIFY_PARAM, const X509_VERIFY_PARAM,
+ table_cmp);
+
static int param_cmp(const X509_VERIFY_PARAM * const *a,
const X509_VERIFY_PARAM * const *b)
{
@@ -397,6 +402,7 @@ const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name)
{
int idx;
X509_VERIFY_PARAM pm;
+
pm.name = (char *)name;
if (param_table)
{
@@ -404,11 +410,10 @@ const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name)
if (idx != -1)
return sk_X509_VERIFY_PARAM_value(param_table, idx);
}
- return (const X509_VERIFY_PARAM *) OBJ_bsearch((char *)&pm,
- (char *)&default_table,
- sizeof(default_table)/sizeof(X509_VERIFY_PARAM),
- sizeof(X509_VERIFY_PARAM),
- table_cmp);
+ return OBJ_bsearch(const X509_VERIFY_PARAM, &pm,
+ const X509_VERIFY_PARAM, default_table,
+ sizeof(default_table)/sizeof(X509_VERIFY_PARAM),
+ table_cmp);
}
void X509_VERIFY_PARAM_table_cleanup(void)