Home | History | Annotate | Download | only in asn1

Lines Matching refs:it

10  * apply to all code found in this distribution, be it the RC4, RSA,
66 void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it)
68 asn1_item_combine_free(&val, it, 0);
71 void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
73 asn1_item_combine_free(pval, it, 0);
76 void asn1_item_combine_free(ASN1_VALUE **pval, const ASN1_ITEM *it, int combine)
81 const ASN1_AUX *aux = it->funcs;
86 if ((it->itype != ASN1_ITYPE_PRIMITIVE) && !*pval)
93 switch (it->itype) {
96 if (it->templates)
97 ASN1_template_free(pval, it->templates);
99 ASN1_primitive_free(pval, it);
103 ASN1_primitive_free(pval, it);
108 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL);
112 i = asn1_get_choice_selector(pval, it);
113 if ((i >= 0) && (i < it->tcount)) {
115 tt = it->templates + i;
120 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL);
128 cf = it->funcs;
134 ef = it->funcs;
136 ef->asn1_ex_free(pval, it);
141 if (!asn1_refcount_dec_and_test_zero(pval, it))
144 i = asn1_cb(ASN1_OP_FREE_PRE, pval, it, NULL);
148 asn1_enc_free(pval, it);
151 * field and we wont be able to determine the type of the field it
154 tt = it->templates + it->tcount - 1;
155 for (i = 0; i < it->tcount; tt--, i++) {
164 asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL);
190 void ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
193 if (it) {
195 pf = it->funcs;
197 pf->prim_free(pval, it);
201 /* Special case: if 'it' is NULL free contents of ASN1_TYPE */
202 if (!it) {
208 } else if (it->itype == ASN1_ITYPE_MSTRING) {
213 utype = it->utype;
224 if (it)
225 *(ASN1_BOOLEAN *)pval = it->size;