refactored tagging support
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@307 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/skeletons/der_encoder.c b/skeletons/der_encoder.c
index fbdccec..be71492 100644
--- a/skeletons/der_encoder.c
+++ b/skeletons/der_encoder.c
@@ -44,12 +44,12 @@
ssize_t *lens;
int i;
- ASN_DEBUG("Writing tags (%s, tm=%d, tc=%d, iskip=%d, tag=%s, mtc=%d)",
- sd->name, tag_mode, sd->tags_count, sd->tags_impl_skip,
+ ASN_DEBUG("Writing tags (%s, tm=%d, tc=%d, tag=%s, mtc=%d)",
+ sd->name, tag_mode, sd->tags_count,
ber_tlv_tag_string(tag),
tag_mode
?(sd->tags_count+1
- -((tag_mode==-1)?sd->tags_impl_skip:0))
+ -((tag_mode == -1) && sd->tags_count))
:sd->tags_count
);
@@ -67,10 +67,10 @@
}
tags_count = sd->tags_count
+ 1 /* EXPLICIT or IMPLICIT tag is given */
- - ((tag_mode==-1)?sd->tags_impl_skip:0);
+ - ((tag_mode == -1) && sd->tags_count);
/* Copy tags over */
tags[0] = tag;
- stag_offset = -1 + ((tag_mode==-1)?sd->tags_impl_skip:0);
+ stag_offset = -1 + ((tag_mode == -1) && sd->tags_count);
for(i = 1; i < tags_count; i++)
tags[i] = sd->tags[i + stag_offset];
} else {