Lines Matching refs:it
65 static void asn1_item_combine_free(ASN1_VALUE **pval, const ASN1_ITEM *it, int combine);
69 void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it) in ASN1_item_free() argument
71 asn1_item_combine_free(&val, it, 0); in ASN1_item_free()
74 void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it) in ASN1_item_ex_free() argument
76 asn1_item_combine_free(pval, it, 0); in ASN1_item_ex_free()
79 static void asn1_item_combine_free(ASN1_VALUE **pval, const ASN1_ITEM *it, int combine) in asn1_item_combine_free() argument
84 const ASN1_AUX *aux = it->funcs; in asn1_item_combine_free()
89 if ((it->itype != ASN1_ITYPE_PRIMITIVE) && !*pval) in asn1_item_combine_free()
96 switch(it->itype) in asn1_item_combine_free()
100 if (it->templates) in asn1_item_combine_free()
101 ASN1_template_free(pval, it->templates); in asn1_item_combine_free()
103 ASN1_primitive_free(pval, it); in asn1_item_combine_free()
107 ASN1_primitive_free(pval, it); in asn1_item_combine_free()
113 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL); in asn1_item_combine_free()
117 i = asn1_get_choice_selector(pval, it); in asn1_item_combine_free()
118 if ((i >= 0) && (i < it->tcount)) in asn1_item_combine_free()
121 tt = it->templates + i; in asn1_item_combine_free()
126 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL); in asn1_item_combine_free()
135 cf = it->funcs; in asn1_item_combine_free()
141 ef = it->funcs; in asn1_item_combine_free()
143 ef->asn1_ex_free(pval, it); in asn1_item_combine_free()
148 if (asn1_do_lock(pval, -1, it) > 0) in asn1_item_combine_free()
152 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL); in asn1_item_combine_free()
156 asn1_enc_free(pval, it); in asn1_item_combine_free()
162 tt = it->templates + it->tcount - 1; in asn1_item_combine_free()
163 for (i = 0; i < it->tcount; tt--, i++) in asn1_item_combine_free()
173 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL); in asn1_item_combine_free()
204 void ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it) in ASN1_primitive_free() argument
207 if (it) in ASN1_primitive_free()
210 pf = it->funcs; in ASN1_primitive_free()
213 pf->prim_free(pval, it); in ASN1_primitive_free()
218 if (!it) in ASN1_primitive_free()
226 else if (it->itype == ASN1_ITYPE_MSTRING) in ASN1_primitive_free()
234 utype = it->utype; in ASN1_primitive_free()
246 if (it) in ASN1_primitive_free()
247 *(ASN1_BOOLEAN *)pval = it->size; in ASN1_primitive_free()