inner structures tagging fix. see 0.9.5 comment in ChangeLog


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@311 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/skeletons/constr_TYPE.h b/skeletons/constr_TYPE.h
index 1918b5c..15a6726 100644
--- a/skeletons/constr_TYPE.h
+++ b/skeletons/constr_TYPE.h
@@ -70,10 +70,13 @@
 	asn_outmost_tag_f  *outmost_tag;	/* <optional, internal> */
 
 	/*
-	 * Tags that are expected, with some of their vital properties.
+	 * Tags that are expected to occur.
 	 */
-	ber_tlv_tag_t *tags;	/* At least one tag must be specified */
+	ber_tlv_tag_t *tags;	/* Effective tags sequence for this type */
 	int tags_count;		/* Number of tags which are expected */
+	ber_tlv_tag_t *all_tags;/* Every tag for BER/containment */
+	int all_tags_count;	/* Number of tags */
+
 	int last_tag_form;	/* Acceptable form of the tag (prim, constr) */
 
 	/*
@@ -92,12 +95,13 @@
 /*
  * An element of the constructed type, i.e. SEQUENCE, SET, CHOICE.
  */
+  enum asn1_TYPE_flags_e {
+	ATF_NOFLAGS,
+	ATF_POINTER	= 0x01,	/* Represented by the pointer */
+	ATF_OPEN_TYPE	= 0x02,	/* ANY type, without meaningful tag */
+  };
 typedef struct asn1_TYPE_member_s {
-	enum asn1_TYPE_flags_e {
-		ATF_NOFLAGS,
-		ATF_POINTER	= 0x01,	/* Represented by the pointer */
-		ATF_OPEN_TYPE	= 0x02,	/* ANY type, without meaningful tag */
-	} flags;			/* Element's presentation flags */
+	enum asn1_TYPE_flags_e flags;	/* Element's presentation flags */
 	int optional;	/* Following optional members, including current */
 	int memb_offset;		/* Offset of the element */
 	ber_tlv_tag_t tag;		/* Outmost (most immediate) tag */