Lines Matching defs:pval

67 static int asn1_item_ex_combine_new(ASN1_VALUE **pval, const ASN1_ITEM *it,
69 static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it);
70 static void asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt);
71 static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it);
83 int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
85 return asn1_item_ex_combine_new(pval, it, 0);
88 static int asn1_item_ex_combine_new(ASN1_VALUE **pval, const ASN1_ITEM *it,
113 if (!ef->asn1_ex_new(pval, it))
121 *pval = cf->asn1_new();
122 if (!*pval)
129 if (!ASN1_template_new(pval, it->templates))
131 } else if (!ASN1_primitive_new(pval, it))
136 if (!ASN1_primitive_new(pval, it))
142 i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL);
154 *pval = OPENSSL_malloc(it->size);
155 if (!*pval)
157 memset(*pval, 0, it->size);
159 asn1_set_choice_selector(pval, -1, it);
160 if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL))
167 i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL);
179 *pval = OPENSSL_malloc(it->size);
180 if (!*pval)
182 memset(*pval, 0, it->size);
183 asn1_do_lock(pval, 0, it);
184 asn1_enc_init(pval, it);
187 pseqval = asn1_get_field_ptr(pval, tt);
191 if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL))
211 ASN1_item_ex_free(pval, it);
220 static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
229 ef->asn1_ex_clear(pval, it);
231 *pval = NULL;
236 asn1_template_clear(pval, it->templates);
238 asn1_primitive_clear(pval, it);
242 asn1_primitive_clear(pval, it);
249 *pval = NULL;
254 int ASN1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
259 asn1_template_clear(pval, tt);
265 *pval = NULL;
281 *pval = (ASN1_VALUE *)skval;
286 ret = asn1_item_ex_combine_new(pval, it, tt->flags & ASN1_TFLG_COMBINE);
295 static void asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
299 *pval = NULL;
301 asn1_item_clear(pval, ASN1_ITEM_ptr(tt->item));
309 int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
321 return pf->prim_new(pval, it);
330 *pval = (ASN1_VALUE *)OBJ_nid2obj(NID_undef);
334 *(ASN1_BOOLEAN *)pval = it->size;
338 *pval = (ASN1_VALUE *)1;
347 *pval = (ASN1_VALUE *)typ;
354 *pval = (ASN1_VALUE *)str;
357 if (*pval)
362 static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
368 pf->prim_clear(pval, it);
370 *pval = NULL;
378 *(ASN1_BOOLEAN *)pval = it->size;
380 *pval = NULL;