moved -DASN_PDU_COLLECTION into compiler
diff --git a/libasn1print/asn1print.c b/libasn1print/asn1print.c
index 47cfb1f..3462d1a 100644
--- a/libasn1print/asn1print.c
+++ b/libasn1print/asn1print.c
@@ -190,6 +190,11 @@
case ATV_REAL:
printf("%f", val->value.v_double);
return 0;
+ case ATV_TYPE:
+ asn1print_expr(val->value.v_type->module->asn1p,
+ val->value.v_type->module,
+ val->value.v_type, flags, 0);
+ return 0;
case ATV_INTEGER:
printf("%" PRIdASN, val->value.v_integer);
return 0;
@@ -349,10 +354,19 @@
}
break;
case ACT_CT_CTDBY:
- printf("CONSTRAINED BY ");
+ printf("(CONSTRAINED BY ");
assert(ct->value->type == ATV_UNPARSED);
fwrite(ct->value->value.string.buf,
1, ct->value->value.string.size, stdout);
+ printf(")");
+ break;
+ case ACT_CT_CTNG:
+ printf("(CONTAINING ");
+ asn1print_expr(ct->value->value.v_type->module->asn1p,
+ ct->value->value.v_type->module,
+ ct->value->value.v_type,
+ flags, 1);
+ printf(")");
break;
case ACT_CA_SET: symno++;
case ACT_CA_CRC: symno++;
@@ -364,6 +378,7 @@
char *symtable[] = { " EXCEPT ", " ^ ", " | ", ",",
"", "(" };
unsigned int i;
+ if(ct->type == ACT_CA_CRC) fputs("(", stdout);
for(i = 0; i < ct->el_count; i++) {
if(i) fputs(symtable[symno], stdout);
if(ct->type == ACT_CA_CRC) fputs("{", stdout);
@@ -373,6 +388,7 @@
&& ct->type == ACT_CA_SET)
fputs(")", stdout);
}
+ if(ct->type == ACT_CA_CRC) fputs(")", stdout);
}
break;
case ACT_CA_AEX: