diff options
Diffstat (limited to 'libasn1print/asn1print.c')
-rw-r--r-- | libasn1print/asn1print.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libasn1print/asn1print.c b/libasn1print/asn1print.c index bf248189..6f67f2c7 100644 --- a/libasn1print/asn1print.c +++ b/libasn1print/asn1print.c @@ -849,6 +849,8 @@ asn1print_expr_dtd(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *expr, enum a if(TQ_FIRST(&expr->members)) { int extensible = 0; + if(expr->expr_type == ASN_BASIC_BIT_STRING) + dont_involve_children = 1; printf(" ("); TQ_FOR(se, &(expr->members), next) { if(se->expr_type == A1TC_EXTENSIBLE) { @@ -870,6 +872,8 @@ asn1print_expr_dtd(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *expr, enum a printf("*"); else if(se->marker.flags) printf("?"); + else if(expr->expr_type == ASN_BASIC_BIT_STRING) + printf("?"); } if(TQ_NEXT(se, next) && TQ_NEXT(se, next)->expr_type != A1TC_EXTENSIBLE) { |