different marker semantics
diff --git a/libasn1print/asn1print.c b/libasn1print/asn1print.c
index 41b2b71..31d7d14 100644
--- a/libasn1print/asn1print.c
+++ b/libasn1print/asn1print.c
@@ -533,9 +533,9 @@
* Print the expression as it were a stand-alone type.
*/
asn1print_expr(asn, mod, se, flags, level + 4);
- if(se->marker & EM_DEFAULT)
+ if((se->marker & EM_DEFAULT) == EM_DEFAULT)
printf(" DEFAULT <?>");
- else if(se->marker & EM_OPTIONAL)
+ else if((se->marker & EM_OPTIONAL) == EM_OPTIONAL)
printf(" OPTIONAL");
if(TQ_NEXT(se, next)) {
printf(",");