marker definition changed
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@347 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c
index 7762bcd..0e356ae 100644
--- a/libasn1compiler/asn1c_C.c
+++ b/libasn1compiler/asn1c_C.c
@@ -139,12 +139,12 @@
}
if(comp_mode == 1
|| expr_better_indirect(arg, v))
- v->marker |= EM_INDIRECT;
+ v->marker.flags |= EM_INDIRECT;
EMBED(v);
}
PCTX_DEF;
- OUT("} %s%s%s", expr->marker?"*":"",
+ OUT("} %s%s%s", expr->marker.flags?"*":"",
expr->_anonymous_type ? "" : MKID(expr->Identifier),
arg->embed ? "" : "_t");
@@ -281,7 +281,7 @@
}
if(comp_mode == 1
|| expr_better_indirect(arg, v))
- v->marker |= EM_INDIRECT;
+ v->marker.flags |= EM_INDIRECT;
EMBED(v);
}
@@ -295,7 +295,7 @@
);
PCTX_DEF;
- OUT("} %s%s%s", expr->marker?"*":"",
+ OUT("} %s%s%s", expr->marker.flags?"*":"",
expr->_anonymous_type ? "" : MKID(expr->Identifier),
arg->embed ? "" : "_t");
@@ -342,7 +342,7 @@
} else {
if(comp_mode == 1
|| expr_better_indirect(arg, v))
- v->marker |= EM_INDIRECT;
+ v->marker.flags |= EM_INDIRECT;
elements++;
emit_member_table(arg, v);
}
@@ -379,7 +379,7 @@
OUT(" | ");
}
OUT("(%d << %d)",
- v->marker?0:1,
+ v->marker.flags?0:1,
7 - (el % 8));
if(el && (el % 8) == 0)
delimit = 1;
@@ -458,7 +458,7 @@
INDENT(-1);
PCTX_DEF;
- OUT("} %s%s%s", expr->marker?"*":"",
+ OUT("} %s%s%s", expr->marker.flags?"*":"",
expr->_anonymous_type ? "" : MKID(expr->Identifier),
arg->embed ? "" : "_t");
@@ -569,7 +569,7 @@
OUT("union {\n", id);
TQ_FOR(v, &(expr->members), next) {
if(expr_better_indirect(arg, v))
- v->marker |= EM_INDIRECT;
+ v->marker.flags |= EM_INDIRECT;
EMBED(v);
}
if(UNNAMED_UNIONS) OUT("};\n");
@@ -577,7 +577,7 @@
);
PCTX_DEF;
- OUT("} %s%s%s", expr->marker?"*":"",
+ OUT("} %s%s%s", expr->marker.flags?"*":"",
expr->_anonymous_type ? "" : MKID(expr->Identifier),
arg->embed ? "" : "_t");
@@ -624,7 +624,7 @@
} else {
if(comp_mode == 1
|| expr_better_indirect(arg, v))
- v->marker |= EM_INDIRECT;
+ v->marker.flags |= EM_INDIRECT;
elements++;
emit_member_table(arg, v);
}
@@ -729,12 +729,13 @@
REDIR(OT_TYPE_DECLS);
OUT("%s\t", asn1c_type_name(arg, arg->expr,
- expr->marker?TNF_RSAFE:TNF_CTYPE));
- OUT("%s", expr->marker?"*":" ");
+ expr->marker.flags?TNF_RSAFE:TNF_CTYPE));
+ OUT("%s", expr->marker.flags?"*":" ");
OUT("%s", MKID(expr->Identifier));
- if((expr->marker & EM_DEFAULT) == EM_DEFAULT)
- OUT("\t/* DEFAULT */");
- else if((expr->marker & EM_OPTIONAL) == EM_OPTIONAL)
+ if((expr->marker.flags & EM_DEFAULT) == EM_DEFAULT)
+ OUT("\t/* DEFAULT %s */",
+ asn1f_printable_value(expr->marker.default_value));
+ else if((expr->marker.flags & EM_OPTIONAL) == EM_OPTIONAL)
OUT("\t/* OPTIONAL */");
REDIR(OT_TYPE_DECLS);
@@ -747,7 +748,7 @@
REDIR(OT_TYPE_DECLS);
OUT("typedef %s\t", asn1c_type_name(arg, arg->expr, TNF_CTYPE));
- OUT("%s", expr->marker?"*":" ");
+ OUT("%s", expr->marker.flags?"*":" ");
OUT("%s_t", MKID(expr->Identifier));
REDIR(OT_STAT_DEFS);
@@ -1241,11 +1242,11 @@
if(outmost_tag && outmost_tag->tag_value == -1)
OUT("ATF_OPEN_TYPE | ");
- OUT("%s, ", expr->marker?"ATF_POINTER":"ATF_NOFLAGS");
- if((expr->marker & EM_OPTIONAL) == EM_OPTIONAL) {
+ OUT("%s, ", expr->marker.flags?"ATF_POINTER":"ATF_NOFLAGS");
+ if((expr->marker.flags & EM_OPTIONAL) == EM_OPTIONAL) {
asn1p_expr_t *tv;
int opts = 0;
- for(tv = expr; tv && tv->marker;
+ for(tv = expr; tv && tv->marker.flags;
tv = TQ_NEXT(tv, next), opts++) {
if(tv->expr_type == A1TC_EXTENSIBLE)
opts--;