diff options
Diffstat (limited to 'libasn1print/asn1print.c')
-rw-r--r-- | libasn1print/asn1print.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libasn1print/asn1print.c b/libasn1print/asn1print.c index e8281df6..41b2b719 100644 --- a/libasn1print/asn1print.c +++ b/libasn1print/asn1print.c @@ -533,11 +533,10 @@ asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1pri * Print the expression as it were a stand-alone type. */ asn1print_expr(asn, mod, se, flags, level + 4); - switch(se->marker) { - case EM_NOMARK: break; - case EM_OPTIONAL: printf(" OPTIONAL"); break; - case EM_DEFAULT: printf(" DEFAULT <?>"); break; - } + if(se->marker & EM_DEFAULT) + printf(" DEFAULT <?>"); + else if(se->marker & EM_OPTIONAL) + printf(" OPTIONAL"); if(TQ_NEXT(se, next)) { printf(","); INDENT("\n"); |