aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1print/asn1print.c
diff options
context:
space:
mode:
Diffstat (limited to 'libasn1print/asn1print.c')
-rw-r--r--libasn1print/asn1print.c9
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");