Home | History | Annotate | Download | only in asn1

Lines Matching refs:pval

69 static int asn1_item_ex_combine_new(ASN1_VALUE **pval, const ASN1_ITEM *it,
71 static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it);
72 static void asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt);
73 static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it);
85 int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
87 return asn1_item_ex_combine_new(pval, it, 0);
90 static int asn1_item_ex_combine_new(ASN1_VALUE **pval, const ASN1_ITEM *it,
115 if (!ef->asn1_ex_new(pval, it))
123 *pval = cf->asn1_new();
124 if (!*pval)
131 if (!ASN1_template_new(pval, it->templates))
133 } else if (!ASN1_primitive_new(pval, it))
138 if (!ASN1_primitive_new(pval, it))
144 i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL);
156 *pval = OPENSSL_malloc(it->size);
157 if (!*pval)
159 OPENSSL_memset(*pval, 0, it->size);
161 asn1_set_choice_selector(pval, -1, it);
162 if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL))
169 i = asn1_cb(ASN1_OP_NEW_PRE, pval, it, NULL);
181 *pval = OPENSSL_malloc(it->size);
182 if (!*pval)
184 OPENSSL_memset(*pval, 0, it->size);
185 asn1_refcount_set_one(pval, it);
186 asn1_enc_init(pval, it);
189 pseqval = asn1_get_field_ptr(pval, tt);
193 if (asn1_cb && !asn1_cb(ASN1_OP_NEW_POST, pval, it, NULL))
204 ASN1_item_ex_free(pval, it);
214 ASN1_item_ex_free(pval, it);
225 static void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
234 ef->asn1_ex_clear(pval, it);
236 *pval = NULL;
241 asn1_template_clear(pval, it->templates);
243 asn1_primitive_clear(pval, it);
247 asn1_primitive_clear(pval, it);
254 *pval = NULL;
259 int ASN1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
264 asn1_template_clear(pval, tt);
270 *pval = NULL;
286 *pval = (ASN1_VALUE *)skval;
291 ret = asn1_item_ex_combine_new(pval, it, tt->flags & ASN1_TFLG_COMBINE);
300 static void asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
304 *pval = NULL;
306 asn1_item_clear(pval, ASN1_ITEM_ptr(tt->item));
314 int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
326 return pf->prim_new(pval, it);
335 *pval = (ASN1_VALUE *)OBJ_nid2obj(NID_undef);
339 *(ASN1_BOOLEAN *)pval = it->size;
343 *pval = (ASN1_VALUE *)1;
352 *pval = (ASN1_VALUE *)typ;
359 *pval = (ASN1_VALUE *)str;
362 if (*pval)
367 static void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
373 pf->prim_clear(pval, it);
375 *pval = NULL;
383 *(ASN1_BOOLEAN *)pval = it->size;
385 *pval = NULL;