summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/ameth_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/ameth_lib.c')
-rw-r--r--src/lib/libcrypto/asn1/ameth_lib.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/lib/libcrypto/asn1/ameth_lib.c b/src/lib/libcrypto/asn1/ameth_lib.c
index 168321618c..b27d72af45 100644
--- a/src/lib/libcrypto/asn1/ameth_lib.c
+++ b/src/lib/libcrypto/asn1/ameth_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ameth_lib.c,v 1.15 2014/11/09 19:17:13 miod Exp $ */ 1/* $OpenBSD: ameth_lib.c,v 1.16 2017/01/21 04:31:25 jsing Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -114,8 +114,9 @@ typedef int sk_cmp_fn_type(const char * const *a, const char * const *b);
114DECLARE_STACK_OF(EVP_PKEY_ASN1_METHOD) 114DECLARE_STACK_OF(EVP_PKEY_ASN1_METHOD)
115static STACK_OF(EVP_PKEY_ASN1_METHOD) *app_methods = NULL; 115static STACK_OF(EVP_PKEY_ASN1_METHOD) *app_methods = NULL;
116 116
117DECLARE_OBJ_BSEARCH_CMP_FN(const EVP_PKEY_ASN1_METHOD *, 117static int ameth_cmp_BSEARCH_CMP_FN(const void *, const void *);
118 const EVP_PKEY_ASN1_METHOD *, ameth); 118static int ameth_cmp(const EVP_PKEY_ASN1_METHOD * const *, const EVP_PKEY_ASN1_METHOD * const *);
119static const EVP_PKEY_ASN1_METHOD * *OBJ_bsearch_ameth(const EVP_PKEY_ASN1_METHOD * *key, const EVP_PKEY_ASN1_METHOD * const *base, int num);
119 120
120static int 121static int
121ameth_cmp(const EVP_PKEY_ASN1_METHOD * const *a, 122ameth_cmp(const EVP_PKEY_ASN1_METHOD * const *a,
@@ -124,8 +125,21 @@ ameth_cmp(const EVP_PKEY_ASN1_METHOD * const *a,
124 return ((*a)->pkey_id - (*b)->pkey_id); 125 return ((*a)->pkey_id - (*b)->pkey_id);
125} 126}
126 127
127IMPLEMENT_OBJ_BSEARCH_CMP_FN(const EVP_PKEY_ASN1_METHOD *, 128
128 const EVP_PKEY_ASN1_METHOD *, ameth); 129static int
130ameth_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)
131{
132 const EVP_PKEY_ASN1_METHOD * const *a = a_;
133 const EVP_PKEY_ASN1_METHOD * const *b = b_;
134 return ameth_cmp(a, b);
135}
136
137static const EVP_PKEY_ASN1_METHOD * *
138OBJ_bsearch_ameth(const EVP_PKEY_ASN1_METHOD * *key, const EVP_PKEY_ASN1_METHOD * const *base, int num)
139{
140 return (const EVP_PKEY_ASN1_METHOD * *)OBJ_bsearch_(key, base, num, sizeof(const EVP_PKEY_ASN1_METHOD *),
141 ameth_cmp_BSEARCH_CMP_FN);
142}
129 143
130int 144int
131EVP_PKEY_asn1_get_count(void) 145EVP_PKEY_asn1_get_count(void)