- if (digests == NULL)
- {
- digests=sk_new(digest_type_cmp);
- if (digests == NULL) return(0);
- }
- if ((i=sk_find(digests,(char *)md)) >= 0)
- {
- if (sk_value(digests,i) == (char *)md)
- return(1);
- sk_delete(digests,i);
- }
- if (md->type != md->pkey_type)
- {
- n=OBJ_nid2sn(md->pkey_type);
- EVP_add_alias(n,OBJ_nid2sn(md->type));
- EVP_add_alias(n,OBJ_nid2ln(md->type));
- }
- sk_push(digests,(char *)md);
- return(1);