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