diff options
author | Lev Walkin <vlm@lionet.info> | 2006-10-19 02:46:01 +0000 |
---|---|---|
committer | Lev Walkin <vlm@lionet.info> | 2006-10-19 02:46:01 +0000 |
commit | 9ab21b8984dd5ef16a7d40a2f426f8e3f03989a3 (patch) | |
tree | b12da2f501a7eaa5ad86691cb5b5a9fc41bdc402 /libasn1compiler | |
parent | 345e4c6a67a29a0d5dc0419d1b12ada144f0bdf7 (diff) |
Fixed explicit tagging of an in-lined constructed type.
Diffstat (limited to 'libasn1compiler')
-rw-r--r-- | libasn1compiler/asn1c_C.c | 4 |
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 |