BMPString and UniversalString support
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1271 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/skeletons/BMPString.c b/skeletons/BMPString.c
index d6a9308..072bd07 100644
--- a/skeletons/BMPString.c
+++ b/skeletons/BMPString.c
@@ -13,6 +13,16 @@
(ASN_TAG_CLASS_UNIVERSAL | (30 << 2)), /* [UNIVERSAL 30] IMPLICIT ...*/
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */
};
+static asn_OCTET_STRING_specifics_t asn_DEF_BMPString_specs = {
+ sizeof(BMPString_t),
+ offsetof(BMPString_t, _asn_ctx),
+ ASN_OSUBV_U16 /* 16-bits character */
+};
+static asn_per_constraints_t asn_DEF_BMPString_constraints = {
+ { APC_CONSTRAINED, 16, 16, 0, 65535 },
+ { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 },
+ 0, 0
+};
asn_TYPE_descriptor_t asn_DEF_BMPString = {
"BMPString",
"BMPString",
@@ -23,7 +33,8 @@
OCTET_STRING_encode_der,
BMPString_decode_xer, /* Convert from UTF-8 */
BMPString_encode_xer, /* Convert to UTF-8 */
- 0, 0,
+ OCTET_STRING_decode_uper,
+ OCTET_STRING_encode_uper,
0, /* Use generic outmost tag fetcher */
asn_DEF_BMPString_tags,
sizeof(asn_DEF_BMPString_tags)
@@ -31,9 +42,9 @@
asn_DEF_BMPString_tags,
sizeof(asn_DEF_BMPString_tags)
/ sizeof(asn_DEF_BMPString_tags[0]),
- 0, /* No PER visible constraints */
+ &asn_DEF_BMPString_constraints,
0, 0, /* No members */
- 0 /* No specifics */
+ &asn_DEF_BMPString_specs
};
/*
@@ -131,7 +142,7 @@
rc.consumed = 0;
return rc;
} else {
- dstwc[2 * wcs_len] = 0;
+ dstwc[wcs_len] = 0; /* nul-terminate */
wcs = (uint32_t *)dstwc;
}
}