summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/evp/pmeth_lib.c
diff options
context:
space:
mode:
authorjsing <>2017-01-21 04:44:43 +0000
committerjsing <>2017-01-21 04:44:43 +0000
commitcf9904a4b13d79f0e11e7db5209260a381b4a83f (patch)
tree59d52ecb3cef99a21130ed575a0a20c9b6536385 /src/lib/libcrypto/evp/pmeth_lib.c
parent4a0bade454554867032b09f31d540604366200d5 (diff)
downloadopenbsd-cf9904a4b13d79f0e11e7db5209260a381b4a83f.tar.gz
openbsd-cf9904a4b13d79f0e11e7db5209260a381b4a83f.tar.bz2
openbsd-cf9904a4b13d79f0e11e7db5209260a381b4a83f.zip
Expand DECLARE_OBJ_BSEARCH_CMP_FN and IMPLEMENT_OBJ_BSEARCH_CMP_FN macros.
No change to generated assembly excluding line numbers.
Diffstat (limited to 'src/lib/libcrypto/evp/pmeth_lib.c')
-rw-r--r--src/lib/libcrypto/evp/pmeth_lib.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/lib/libcrypto/evp/pmeth_lib.c b/src/lib/libcrypto/evp/pmeth_lib.c
index c93fa99cc6..1d64edcbeb 100644
--- a/src/lib/libcrypto/evp/pmeth_lib.c
+++ b/src/lib/libcrypto/evp/pmeth_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pmeth_lib.c,v 1.11 2015/02/11 03:19:37 doug Exp $ */ 1/* $OpenBSD: pmeth_lib.c,v 1.12 2017/01/21 04:38:23 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 */
@@ -103,8 +103,9 @@ static const EVP_PKEY_METHOD *standard_methods[] = {
103 &cmac_pkey_meth, 103 &cmac_pkey_meth,
104}; 104};
105 105
106DECLARE_OBJ_BSEARCH_CMP_FN(const EVP_PKEY_METHOD *, const EVP_PKEY_METHOD *, 106static int pmeth_cmp_BSEARCH_CMP_FN(const void *, const void *);
107 pmeth); 107static int pmeth_cmp(const EVP_PKEY_METHOD * const *, const EVP_PKEY_METHOD * const *);
108static const EVP_PKEY_METHOD * *OBJ_bsearch_pmeth(const EVP_PKEY_METHOD * *key, const EVP_PKEY_METHOD * const *base, int num);
108 109
109static int 110static int
110pmeth_cmp(const EVP_PKEY_METHOD * const *a, const EVP_PKEY_METHOD * const *b) 111pmeth_cmp(const EVP_PKEY_METHOD * const *a, const EVP_PKEY_METHOD * const *b)
@@ -112,8 +113,21 @@ pmeth_cmp(const EVP_PKEY_METHOD * const *a, const EVP_PKEY_METHOD * const *b)
112 return ((*a)->pkey_id - (*b)->pkey_id); 113 return ((*a)->pkey_id - (*b)->pkey_id);
113} 114}
114 115
115IMPLEMENT_OBJ_BSEARCH_CMP_FN(const EVP_PKEY_METHOD *, const EVP_PKEY_METHOD *, 116
116 pmeth); 117static int
118pmeth_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)
119{
120 const EVP_PKEY_METHOD * const *a = a_;
121 const EVP_PKEY_METHOD * const *b = b_;
122 return pmeth_cmp(a, b);
123}
124
125static const EVP_PKEY_METHOD * *
126OBJ_bsearch_pmeth(const EVP_PKEY_METHOD * *key, const EVP_PKEY_METHOD * const *base, int num)
127{
128 return (const EVP_PKEY_METHOD * *)OBJ_bsearch_(key, base, num, sizeof(const EVP_PKEY_METHOD *),
129 pmeth_cmp_BSEARCH_CMP_FN);
130}
117 131
118const EVP_PKEY_METHOD * 132const EVP_PKEY_METHOD *
119EVP_PKEY_meth_find(int type) 133EVP_PKEY_meth_find(int type)