Home | History | Annotate | Download | only in x509v3

Lines Matching refs:choice

107 				  ASIdentifierChoice *choice,
113 if (choice == NULL)
116 switch (choice->type) {
121 for (i = 0; i < sk_ASIdOrRange_num(choice->u.asIdsOrRanges); i++) {
122 ASIdOrRange *aor = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
201 ASIdentifierChoice **choice;
206 choice = &asid->asnum;
209 choice = &asid->rdi;
214 if (*choice == NULL) {
215 if ((*choice = ASIdentifierChoice_new()) == NULL)
217 OPENSSL_assert((*choice)->u.inherit == NULL);
218 if (((*choice)->u.inherit = ASN1_NULL_new()) == NULL)
220 (*choice)->type = ASIdentifierChoice_inherit;
222 return (*choice)->type == ASIdentifierChoice_inherit;
233 ASIdentifierChoice **choice;
239 choice = &asid->asnum;
242 choice = &asid->rdi;
247 if (*choice != NULL && (*choice)->type == ASIdentifierChoice_inherit)
249 if (*choice == NULL) {
250 if ((*choice = ASIdentifierChoice_new()) == NULL)
252 OPENSSL_assert((*choice)->u.asIdsOrRanges == NULL);
253 (*choice)->u.asIdsOrRanges = sk_ASIdOrRange_new(ASIdOrRange_cmp);
254 if ((*choice)->u.asIdsOrRanges == NULL)
256 (*choice)->type = ASIdentifierChoice_asIdsOrRanges;
272 if (!(sk_ASIdOrRange_push((*choice)->u.asIdsOrRanges, aor)))
304 static int ASIdentifierChoice_is_canonical(ASIdentifierChoice *choice)
313 if (choice == NULL || choice->type == ASIdentifierChoice_inherit)
319 if (choice->type != ASIdentifierChoice_asIdsOrRanges ||
320 sk_ASIdOrRange_num(choice->u.asIdsOrRanges) == 0)
326 for (i = 0; i < sk_ASIdOrRange_num(choice->u.asIdsOrRanges) - 1; i++) {
327 ASIdOrRange *a = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
328 ASIdOrRange *b = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i + 1);
364 i = sk_ASIdOrRange_num(choice->u.asIdsOrRanges) - 1;
366 ASIdOrRange *a = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
396 static int ASIdentifierChoice_canonize(ASIdentifierChoice *choice)
405 if (choice == NULL || choice->type == ASIdentifierChoice_inherit)
411 if (choice->type != ASIdentifierChoice_asIdsOrRanges ||
412 sk_ASIdOrRange_num(choice->u.asIdsOrRanges) == 0) {
421 sk_ASIdOrRange_sort(choice->u.asIdsOrRanges);
427 for (i = 0; i < sk_ASIdOrRange_num(choice->u.asIdsOrRanges) - 1; i++) {
428 ASIdOrRange *a = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
429 ASIdOrRange *b = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i + 1);
498 (void) sk_ASIdOrRange_delete(choice->u.asIdsOrRanges, i + 1);
507 i = sk_ASIdOrRange_num(choice->u.asIdsOrRanges) - 1;
509 ASIdOrRange *a = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
518 OPENSSL_assert(ASIdentifierChoice_is_canonical(choice)); /* Paranoia */