Lines Matching refs:it

18 void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it)
20 ossl_asn1_item_embed_free(&val, it, 0);
23 void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
25 ossl_asn1_item_embed_free(pval, it, 0);
28 void ossl_asn1_item_embed_free(ASN1_VALUE **pval, const ASN1_ITEM *it, int embed)
32 const ASN1_AUX *aux = it->funcs;
38 if ((it->itype != ASN1_ITYPE_PRIMITIVE) && *pval == NULL)
45 switch (it->itype) {
48 if (it->templates)
49 ossl_asn1_template_free(pval, it->templates);
51 ossl_asn1_primitive_free(pval, it, embed);
55 ossl_asn1_primitive_free(pval, it, embed);
60 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL);
64 i = ossl_asn1_get_choice_selector(pval, it);
65 if ((i >= 0) && (i < it->tcount)) {
68 tt = it->templates + i;
73 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL);
81 ef = it->funcs;
83 ef->asn1_ex_free(pval, it);
88 if (ossl_asn1_do_lock(pval, -1, it) != 0) /* if error or ref-counter > 0 */
91 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL);
95 ossl_asn1_enc_free(pval, it);
98 * field and we won't be able to determine the type of the field it
101 tt = it->templates + it->tcount;
102 for (i = 0; i < it->tcount; i++) {
113 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL);
146 void ossl_asn1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it, int embed)
150 /* Special case: if 'it' is a primitive with a free_func, use that. */
151 if (it) {
152 const ASN1_PRIMITIVE_FUNCS *pf = it->funcs;
156 pf->prim_clear(pval, it);
160 pf->prim_free(pval, it);
165 /* Special case: if 'it' is NULL, free contents of ASN1_TYPE */
166 if (!it) {
173 } else if (it->itype == ASN1_ITYPE_MSTRING) {
178 utype = it->utype;
189 if (it)
190 *(ASN1_BOOLEAN *)pval = it->size;