Lines Matching full:it
69 static int asn1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it);
70 static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it);
72 static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it);
75 ASN1_item_new(const ASN1_ITEM *it) in ASN1_item_new() argument
78 if (ASN1_item_ex_new(&ret, it) > 0) in ASN1_item_new()
87 ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it) in ASN1_item_ex_new() argument
89 return asn1_item_ex_new(pval, it); in ASN1_item_ex_new()
94 asn1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it) in asn1_item_ex_new() argument
98 const ASN1_AUX *aux = it->funcs; in asn1_item_ex_new()
108 switch (it->itype) { in asn1_item_ex_new()
110 ef = it->funcs; in asn1_item_ex_new()
112 if (!ef->asn1_ex_new(pval, it)) in asn1_item_ex_new()
118 if (it->templates) { in asn1_item_ex_new()
119 if (!ASN1_template_new(pval, it->templates)) in asn1_item_ex_new()
121 } else if (!ASN1_primitive_new(pval, it)) in asn1_item_ex_new()
126 if (!ASN1_primitive_new(pval, it)) in asn1_item_ex_new()
132 i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL); in asn1_item_ex_new()
139 *pval = calloc(1, it->size); in asn1_item_ex_new()
142 asn1_set_choice_selector(pval, -1, it); in asn1_item_ex_new()
143 if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL)) in asn1_item_ex_new()
150 i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL); in asn1_item_ex_new()
157 *pval = calloc(1, it->size); in asn1_item_ex_new()
160 asn1_do_lock(pval, 0, it); in asn1_item_ex_new()
161 asn1_enc_init(pval, it); in asn1_item_ex_new()
162 for (i = 0, tt = it->templates; i < it->tcount; tt++, i++) { in asn1_item_ex_new()
167 if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL)) in asn1_item_ex_new()
179 ASN1_item_ex_free(pval, it); in asn1_item_ex_new()
185 asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) in asn1_item_clear() argument
189 switch (it->itype) { in asn1_item_clear()
191 ef = it->funcs; in asn1_item_clear()
193 ef->asn1_ex_clear(pval, it); in asn1_item_clear()
199 if (it->templates) in asn1_item_clear()
200 asn1_template_clear(pval, it->templates); in asn1_item_clear()
202 asn1_primitive_clear(pval, it); in asn1_item_clear()
206 asn1_primitive_clear(pval, it); in asn1_item_clear()
220 const ASN1_ITEM *it = tt->item; in ASN1_template_new() local
246 /* Otherwise pass it back to the item routine */ in ASN1_template_new()
247 ret = asn1_item_ex_new(pval, it); in ASN1_template_new()
268 ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it) in ASN1_primitive_new() argument
274 if (it != NULL && it->funcs != NULL) { in ASN1_primitive_new()
275 const ASN1_PRIMITIVE_FUNCS *pf = it->funcs; in ASN1_primitive_new()
279 return pf->prim_new(pval, it); in ASN1_primitive_new()
282 if (!it || (it->itype == ASN1_ITYPE_MSTRING)) in ASN1_primitive_new()
285 utype = it->utype; in ASN1_primitive_new()
292 *(ASN1_BOOLEAN *)pval = it->size; in ASN1_primitive_new()
310 if (it != NULL && it->itype == ASN1_ITYPE_MSTRING && in ASN1_primitive_new()
322 asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) in asn1_primitive_clear() argument
326 if (it != NULL && it->funcs != NULL) { in asn1_primitive_clear()
327 const ASN1_PRIMITIVE_FUNCS *pf = it->funcs; in asn1_primitive_clear()
330 pf->prim_clear(pval, it); in asn1_primitive_clear()
336 if (!it || (it->itype == ASN1_ITYPE_MSTRING)) in asn1_primitive_clear()
339 utype = it->utype; in asn1_primitive_clear()
341 *(ASN1_BOOLEAN *)pval = it->size; in asn1_primitive_clear()