summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2017-01-21 04:31:25 +0000
committerjsing <>2017-01-21 04:31:25 +0000
commit464e7bece5df6e122bd757c46dcadb142490e9a2 (patch)
tree4723c3a31552c7b541782ff9162ab5560f921131 /src
parenta8eda323fe433edd514a5d6631780b19befdd1dc (diff)
downloadopenbsd-464e7bece5df6e122bd757c46dcadb142490e9a2.tar.gz
openbsd-464e7bece5df6e122bd757c46dcadb142490e9a2.tar.bz2
openbsd-464e7bece5df6e122bd757c46dcadb142490e9a2.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')
-rw-r--r--src/lib/libcrypto/asn1/a_strnid.c22
-rw-r--r--src/lib/libcrypto/asn1/ameth_lib.c24
2 files changed, 38 insertions, 8 deletions
diff --git a/src/lib/libcrypto/asn1/a_strnid.c b/src/lib/libcrypto/asn1/a_strnid.c
index 0744ffb228..f325d91924 100644
--- a/src/lib/libcrypto/asn1/a_strnid.c
+++ b/src/lib/libcrypto/asn1/a_strnid.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_strnid.c,v 1.19 2015/02/10 11:22:21 jsing Exp $ */ 1/* $OpenBSD: a_strnid.c,v 1.20 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 1999. 3 * project 1999.
4 */ 4 */
@@ -201,7 +201,9 @@ sk_table_cmp(const ASN1_STRING_TABLE * const *a,
201 return (*a)->nid - (*b)->nid; 201 return (*a)->nid - (*b)->nid;
202} 202}
203 203
204DECLARE_OBJ_BSEARCH_CMP_FN(ASN1_STRING_TABLE, ASN1_STRING_TABLE, table); 204static int table_cmp_BSEARCH_CMP_FN(const void *, const void *);
205static int table_cmp(ASN1_STRING_TABLE const *, ASN1_STRING_TABLE const *);
206static ASN1_STRING_TABLE *OBJ_bsearch_table(ASN1_STRING_TABLE *key, ASN1_STRING_TABLE const *base, int num);
205 207
206static int 208static int
207table_cmp(const ASN1_STRING_TABLE *a, const ASN1_STRING_TABLE *b) 209table_cmp(const ASN1_STRING_TABLE *a, const ASN1_STRING_TABLE *b)
@@ -209,7 +211,21 @@ table_cmp(const ASN1_STRING_TABLE *a, const ASN1_STRING_TABLE *b)
209 return a->nid - b->nid; 211 return a->nid - b->nid;
210} 212}
211 213
212IMPLEMENT_OBJ_BSEARCH_CMP_FN(ASN1_STRING_TABLE, ASN1_STRING_TABLE, table); 214
215static int
216table_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)
217{
218 ASN1_STRING_TABLE const *a = a_;
219 ASN1_STRING_TABLE const *b = b_;
220 return table_cmp(a, b);
221}
222
223static ASN1_STRING_TABLE *
224OBJ_bsearch_table(ASN1_STRING_TABLE *key, ASN1_STRING_TABLE const *base, int num)
225{
226 return (ASN1_STRING_TABLE *)OBJ_bsearch_(key, base, num, sizeof(ASN1_STRING_TABLE),
227 table_cmp_BSEARCH_CMP_FN);
228}
213 229
214ASN1_STRING_TABLE * 230ASN1_STRING_TABLE *
215ASN1_STRING_TABLE_get(int nid) 231ASN1_STRING_TABLE_get(int nid)
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)