Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asn1c
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
asn1c
Commits
135d7dd4
Commit
135d7dd4
authored
Aug 28, 2017
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pull extensions for aliased types
parent
0c54f3d0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
7 deletions
+41
-7
libasn1compiler/asn1c_C.c
libasn1compiler/asn1c_C.c
+4
-4
tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER
...1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER
+7
-1
tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER
...1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER
+10
-1
tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER
tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER
+20
-1
No files found.
libasn1compiler/asn1c_C.c
View file @
135d7dd4
...
...
@@ -2338,7 +2338,7 @@ emit_member_OER_constraints(arg_t *arg, asn1p_expr_t *expr, const char *pfx) {
etype
=
expr_get_type
(
arg
,
expr
);
if
((
arg
->
flags
&
A1C_GEN_OER
)
&&
(
expr
->
constraints
||
etype
==
ASN_BASIC_ENUMERATED
&&
(
expr
->
co
mbined_co
nstraints
||
etype
==
ASN_BASIC_ENUMERATED
||
etype
==
ASN_CONSTR_CHOICE
))
{
/* Fall through */
}
else
{
...
...
@@ -2393,7 +2393,7 @@ emit_member_PER_constraints(arg_t *arg, asn1p_expr_t *expr, const char *pfx) {
etype
=
expr_get_type
(
arg
,
expr
);
if
((
arg
->
flags
&
A1C_GEN_PER
)
&&
(
expr
->
constraints
&&
(
expr
->
co
mbined_co
nstraints
||
etype
==
ASN_BASIC_ENUMERATED
||
etype
==
ASN_CONSTR_CHOICE
)
)
{
...
...
@@ -3249,7 +3249,7 @@ do { \
}
if
(
arg
->
flags
&
A1C_GEN_OER
)
{
if
(
expr
->
constraints
if
(
expr
->
co
mbined_co
nstraints
||
expr
->
expr_type
==
ASN_BASIC_ENUMERATED
||
expr
->
expr_type
==
ASN_CONSTR_CHOICE
)
{
OUT
(
"&asn_OER_type_%s_constr_%d,
\n
"
,
...
...
@@ -3262,7 +3262,7 @@ do { \
}
if
(
arg
->
flags
&
A1C_GEN_PER
)
{
if
(
expr
->
constraints
if
(
expr
->
co
mbined_co
nstraints
||
expr
->
expr_type
==
ASN_BASIC_ENUMERATED
||
expr
->
expr_type
==
ASN_CONSTR_CHOICE
)
{
OUT
(
"&asn_PER_type_%s_constr_%d,
\n
"
,
...
...
tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER
View file @
135d7dd4
...
...
@@ -134,6 +134,12 @@ Alias_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
*/
/*** <<< CTDEFS [Alias] >>> ***/
static asn_oer_constraints_t asn_OER_type_Alias_constr_1 GCC_NOTUSED = {
{ 2, 1 } /* (0..65535) */,
-1};
/*** <<< STAT-DEFS [Alias] >>> ***/
static const ber_tlv_tag_t asn_DEF_Alias_tags_1[] = {
...
...
@@ -150,7 +156,7 @@ asn_TYPE_descriptor_t asn_DEF_Alias = {
asn_DEF_Alias_tags_1, /* Same as above */
sizeof(asn_DEF_Alias_tags_1)
/sizeof(asn_DEF_Alias_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
&asn_OER_type_Alias_constr_1,
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
...
...
tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER
View file @
135d7dd4
...
...
@@ -94,6 +94,7 @@ typedef Short_t Alias_t;
/*** <<< FUNC-DECLS [Alias] >>> ***/
extern asn_per_constraints_t asn_PER_type_Alias_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_Alias;
asn_struct_free_f Alias_free;
asn_struct_print_f Alias_print;
...
...
@@ -137,6 +138,14 @@ Alias_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
* so here we adjust the DEF accordingly.
*/
/*** <<< CTDEFS [Alias] >>> ***/
asn_per_constraints_t asn_PER_type_Alias_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
/*** <<< STAT-DEFS [Alias] >>> ***/
static const ber_tlv_tag_t asn_DEF_Alias_tags_1[] = {
...
...
@@ -154,7 +163,7 @@ asn_TYPE_descriptor_t asn_DEF_Alias = {
sizeof(asn_DEF_Alias_tags_1)
/sizeof(asn_DEF_Alias_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
&asn_PER_type_Alias_constr_1,
0, 0, /* No members */
0 /* No specifics */
};
...
...
tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER
View file @
135d7dd4
...
...
@@ -2095,11 +2095,30 @@ VisibleIdentifier_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
}
}
static int asn_PER_MAP_VisibleIdentifier_1_v2c(unsigned int value) {
if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
return -1;
return permitted_alphabet_table_1[value] - 1;
}
static int asn_PER_MAP_VisibleIdentifier_1_c2v(unsigned int code) {
if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
return -1;
return permitted_alphabet_code2value_1[code];
}
/*
* This type is implemented using Identifier,
* so here we adjust the DEF accordingly.
*/
/*** <<< CTDEFS [VisibleIdentifier] >>> ***/
static asn_per_constraints_t asn_PER_type_VisibleIdentifier_constr_1 GCC_NOTUSED = {
{ APC_CONSTRAINED, 6, 6, 36, 122 } /* (36..122) */,
{ APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
asn_PER_MAP_VisibleIdentifier_1_v2c, /* Value to PER code map */
asn_PER_MAP_VisibleIdentifier_1_c2v /* PER code to value map */
};
/*** <<< STAT-DEFS [VisibleIdentifier] >>> ***/
static const ber_tlv_tag_t asn_DEF_VisibleIdentifier_tags_1[] = {
...
...
@@ -2117,7 +2136,7 @@ asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = {
sizeof(asn_DEF_VisibleIdentifier_tags_1)
/sizeof(asn_DEF_VisibleIdentifier_tags_1[0]), /* 1 */
0, /* No OER visible constraints */
0, /* No PER visible constraints */
&asn_PER_type_VisibleIdentifier_constr_1,
0, 0, /* No members */
0 /* No specifics */
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment