• Home
  • Raw
  • Download

Lines Matching refs:it

70 static int asn1_item_ex_combine_new(ASN1_VALUE **pval, const ASN1_ITEM *it,
72 static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it);
75 static int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it);
76 static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it);
78 ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it) in ASN1_item_new() argument
81 if (ASN1_item_ex_new(&ret, it) > 0) in ASN1_item_new()
88 int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it) in ASN1_item_ex_new() argument
90 return asn1_item_ex_combine_new(pval, it, 0); in ASN1_item_ex_new()
93 static int asn1_item_ex_combine_new(ASN1_VALUE **pval, const ASN1_ITEM *it, in asn1_item_ex_combine_new() argument
98 const ASN1_AUX *aux = it->funcs; in asn1_item_ex_combine_new()
107 switch (it->itype) { in asn1_item_ex_combine_new()
110 ef = it->funcs; in asn1_item_ex_combine_new()
112 if (!ef->asn1_ex_new(pval, it)) in asn1_item_ex_combine_new()
118 if (it->templates) { in asn1_item_ex_combine_new()
119 if (!ASN1_template_new(pval, it->templates)) in asn1_item_ex_combine_new()
121 } else if (!ASN1_primitive_new(pval, it)) in asn1_item_ex_combine_new()
126 if (!ASN1_primitive_new(pval, it)) in asn1_item_ex_combine_new()
132 i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL); in asn1_item_ex_combine_new()
140 *pval = OPENSSL_malloc(it->size); in asn1_item_ex_combine_new()
143 OPENSSL_memset(*pval, 0, it->size); in asn1_item_ex_combine_new()
145 asn1_set_choice_selector(pval, -1, it); in asn1_item_ex_combine_new()
146 if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL)) in asn1_item_ex_combine_new()
152 i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL); in asn1_item_ex_combine_new()
160 *pval = OPENSSL_malloc(it->size); in asn1_item_ex_combine_new()
163 OPENSSL_memset(*pval, 0, it->size); in asn1_item_ex_combine_new()
164 asn1_refcount_set_one(pval, it); in asn1_item_ex_combine_new()
165 asn1_enc_init(pval, it); in asn1_item_ex_combine_new()
167 for (i = 0, tt = it->templates; i < it->tcount; tt++, i++) { in asn1_item_ex_combine_new()
172 if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL)) in asn1_item_ex_combine_new()
179 asn1_item_combine_free(pval, it, combine); in asn1_item_ex_combine_new()
185 asn1_item_combine_free(pval, it, combine); in asn1_item_ex_combine_new()
192 static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) in asn1_item_clear() argument
196 switch (it->itype) { in asn1_item_clear()
199 ef = it->funcs; in asn1_item_clear()
201 ef->asn1_ex_clear(pval, it); in asn1_item_clear()
207 if (it->templates) in asn1_item_clear()
208 asn1_template_clear(pval, it->templates); in asn1_item_clear()
210 asn1_primitive_clear(pval, it); in asn1_item_clear()
214 asn1_primitive_clear(pval, it); in asn1_item_clear()
226 const ASN1_ITEM *it = ASN1_ITEM_ptr(tt->item); in ASN1_template_new() local
252 ret = asn1_item_ex_combine_new(pval, it, tt->flags & ASN1_TFLG_COMBINE); in ASN1_template_new()
271 static int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it) in ASN1_primitive_new() argument
277 if (!it) in ASN1_primitive_new()
282 assert(it->funcs == NULL); in ASN1_primitive_new()
284 if (it->itype == ASN1_ITYPE_MSTRING) in ASN1_primitive_new()
287 utype = it->utype; in ASN1_primitive_new()
294 *(ASN1_BOOLEAN *)pval = it->size; in ASN1_primitive_new()
312 if (it->itype == ASN1_ITYPE_MSTRING && str) in ASN1_primitive_new()
322 static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it) in asn1_primitive_clear() argument
327 assert(it == NULL || it->funcs == NULL); in asn1_primitive_clear()
328 if (!it || (it->itype == ASN1_ITYPE_MSTRING)) in asn1_primitive_clear()
331 utype = it->utype; in asn1_primitive_clear()
333 *(ASN1_BOOLEAN *)pval = it->size; in asn1_primitive_clear()