aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1compiler
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2006-10-19 02:46:01 +0000
committerLev Walkin <vlm@lionet.info>2006-10-19 02:46:01 +0000
commit9ab21b8984dd5ef16a7d40a2f426f8e3f03989a3 (patch)
treeb12da2f501a7eaa5ad86691cb5b5a9fc41bdc402 /libasn1compiler
parent345e4c6a67a29a0d5dc0419d1b12ada144f0bdf7 (diff)
Fixed explicit tagging of an in-lined constructed type.
Diffstat (limited to 'libasn1compiler')
-rw-r--r--libasn1compiler/asn1c_C.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c
index 9d3cff57..bc9102ec 100644
--- a/libasn1compiler/asn1c_C.c
+++ b/libasn1compiler/asn1c_C.c
@@ -2151,7 +2151,9 @@ emit_member_table(arg_t *arg, asn1p_expr_t *expr) {
OUT(",\n");
if(C99_MODE) OUT(".tag_mode = ");
- if(expr->tag.tag_class) {
+ if((!(expr->expr_type & ASN_CONSTR_MASK)
+ || expr->expr_type == ASN_CONSTR_CHOICE)
+ && expr->tag.tag_class) {
if(expr->tag.tag_mode == TM_IMPLICIT)
OUT("-1,\t/* IMPLICIT tag at current level */\n");
else