Lines Matching refs:choice

63                                   ASIdentifierChoice *choice,
68 if (choice == NULL)
71 switch (choice->type) {
76 for (i = 0; i < sk_ASIdOrRange_num(choice->u.asIdsOrRanges); i++) {
78 sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
156 ASIdentifierChoice **choice;
161 choice = &asid->asnum;
164 choice = &asid->rdi;
169 if (*choice == NULL) {
170 if ((*choice = ASIdentifierChoice_new()) == NULL)
172 if (((*choice)->u.inherit = ASN1_NULL_new()) == NULL)
174 (*choice)->type = ASIdentifierChoice_inherit;
176 return (*choice)->type == ASIdentifierChoice_inherit;
185 ASIdentifierChoice **choice;
191 choice = &asid->asnum;
194 choice = &asid->rdi;
199 if (*choice != NULL && (*choice)->type == ASIdentifierChoice_inherit)
201 if (*choice == NULL) {
202 if ((*choice = ASIdentifierChoice_new()) == NULL)
204 (*choice)->u.asIdsOrRanges = sk_ASIdOrRange_new(ASIdOrRange_cmp);
205 if ((*choice)->u.asIdsOrRanges == NULL)
207 (*choice)->type = ASIdentifierChoice_asIdsOrRanges;
223 if (!(sk_ASIdOrRange_push((*choice)->u.asIdsOrRanges, aor)))
257 static int ASIdentifierChoice_is_canonical(ASIdentifierChoice *choice)
267 if (choice == NULL || choice->type == ASIdentifierChoice_inherit)
273 if (choice->type != ASIdentifierChoice_asIdsOrRanges ||
274 sk_ASIdOrRange_num(choice->u.asIdsOrRanges) == 0)
280 for (i = 0; i < sk_ASIdOrRange_num(choice->u.asIdsOrRanges) - 1; i++) {
281 ASIdOrRange *a = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
282 ASIdOrRange *b = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i + 1);
325 i = sk_ASIdOrRange_num(choice->u.asIdsOrRanges) - 1;
327 ASIdOrRange *a = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
357 static int ASIdentifierChoice_canonize(ASIdentifierChoice *choice)
367 if (choice == NULL || choice->type == ASIdentifierChoice_inherit)
373 if (choice->type != ASIdentifierChoice_asIdsOrRanges ||
374 sk_ASIdOrRange_num(choice->u.asIdsOrRanges) == 0) {
382 sk_ASIdOrRange_sort(choice->u.asIdsOrRanges);
388 for (i = 0; i < sk_ASIdOrRange_num(choice->u.asIdsOrRanges) - 1; i++) {
389 ASIdOrRange *a = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
390 ASIdOrRange *b = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i + 1);
466 (void)sk_ASIdOrRange_delete(choice->u.asIdsOrRanges, i + 1);
475 i = sk_ASIdOrRange_num(choice->u.asIdsOrRanges) - 1;
477 ASIdOrRange *a = sk_ASIdOrRange_value(choice->u.asIdsOrRanges, i);
487 if (!ossl_assert(ASIdentifierChoice_is_canonical(choice)))