| Index: openssl/crypto/asn1/a_strnid.c
|
| ===================================================================
|
| --- openssl/crypto/asn1/a_strnid.c (revision 105093)
|
| +++ openssl/crypto/asn1/a_strnid.c (working copy)
|
| @@ -67,7 +67,6 @@
|
| static void st_free(ASN1_STRING_TABLE *tbl);
|
| static int sk_table_cmp(const ASN1_STRING_TABLE * const *a,
|
| const ASN1_STRING_TABLE * const *b);
|
| -static int table_cmp(const void *a, const void *b);
|
|
|
|
|
| /* This is the global mask for the mbstring functions: this is use to
|
| @@ -96,7 +95,7 @@
|
| * default: the default value, Printable, T61, BMP.
|
| */
|
|
|
| -int ASN1_STRING_set_default_mask_asc(char *p)
|
| +int ASN1_STRING_set_default_mask_asc(const char *p)
|
| {
|
| unsigned long mask;
|
| char *end;
|
| @@ -158,7 +157,7 @@
|
|
|
| /* This table must be kept in NID order */
|
|
|
| -static ASN1_STRING_TABLE tbl_standard[] = {
|
| +static const ASN1_STRING_TABLE tbl_standard[] = {
|
| {NID_commonName, 1, ub_common_name, DIRSTRING_TYPE, 0},
|
| {NID_countryName, 2, 2, B_ASN1_PRINTABLESTRING, STABLE_NO_MASK},
|
| {NID_localityName, 1, ub_locality_name, DIRSTRING_TYPE, 0},
|
| @@ -186,22 +185,23 @@
|
| return (*a)->nid - (*b)->nid;
|
| }
|
|
|
| -static int table_cmp(const void *a, const void *b)
|
| +DECLARE_OBJ_BSEARCH_CMP_FN(ASN1_STRING_TABLE, ASN1_STRING_TABLE, table);
|
| +
|
| +static int table_cmp(const ASN1_STRING_TABLE *a, const ASN1_STRING_TABLE *b)
|
| {
|
| - const ASN1_STRING_TABLE *sa = a, *sb = b;
|
| - return sa->nid - sb->nid;
|
| + return a->nid - b->nid;
|
| }
|
|
|
| +IMPLEMENT_OBJ_BSEARCH_CMP_FN(ASN1_STRING_TABLE, ASN1_STRING_TABLE, table);
|
| +
|
| ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid)
|
| {
|
| int idx;
|
| ASN1_STRING_TABLE *ttmp;
|
| ASN1_STRING_TABLE fnd;
|
| fnd.nid = nid;
|
| - ttmp = (ASN1_STRING_TABLE *) OBJ_bsearch((char *)&fnd,
|
| - (char *)tbl_standard,
|
| - sizeof(tbl_standard)/sizeof(ASN1_STRING_TABLE),
|
| - sizeof(ASN1_STRING_TABLE), table_cmp);
|
| + ttmp = OBJ_bsearch_table(&fnd, tbl_standard,
|
| + sizeof(tbl_standard)/sizeof(ASN1_STRING_TABLE));
|
| if(ttmp) return ttmp;
|
| if(!stable) return NULL;
|
| idx = sk_ASN1_STRING_TABLE_find(stable, &fnd);
|
|
|