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
6aae7c62
Commit
6aae7c62
authored
Aug 10, 2017
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
make J2735 compile again
parent
24bf3f6a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
17 additions
and
12 deletions
+17
-12
examples/sample.makefile.regen
examples/sample.makefile.regen
+1
-1
examples/sample.source.J2735/Makefile
examples/sample.source.J2735/Makefile
+5
-1
libasn1compiler/asn1c_C.c
libasn1compiler/asn1c_C.c
+6
-5
libasn1compiler/asn1c_ioc.c
libasn1compiler/asn1c_ioc.c
+2
-2
skeletons/asn_ioc.h
skeletons/asn_ioc.h
+3
-3
No files found.
examples/sample.makefile.regen
View file @
6aae7c62
...
...
@@ -128,7 +128,7 @@ set +x
echo
' done; done; fi'
echo
echo
"maybe-wip-pause:"
echo
" @
[ -f WIP ] && cat WIP && sleep 2
"
echo
" @
if [ -f WIP ]; then cat WIP; sleep 2; fi
"
echo
echo
"distclean: clean"
echo
' rm -f $(ASN_MODULE_SOURCES)'
...
...
examples/sample.source.J2735/Makefile
View file @
6aae7c62
...
...
@@ -997,6 +997,7 @@ ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
ASN_MODULE_HEADERS
+=
constr_SET_OF.h
ASN_MODULE_SOURCES
+=
constr_SET_OF.c
ASN_MODULE_HEADERS
+=
asn_application.h
ASN_MODULE_HEADERS
+=
asn_ioc.h
ASN_MODULE_HEADERS
+=
asn_system.h
ASN_MODULE_HEADERS
+=
asn_codecs.h
ASN_MODULE_HEADERS
+=
asn_internal.h
...
...
@@ -1050,7 +1051,7 @@ TARGET = j2735-dump
CPPFLAGS
+=
-DASN_CONVERTER_TITLE
=
"J2735 DSRC decoder"
-DHAVE_CONFIG_H
-DJUNKTEST
-D_DEFAULT_SOURCE
-DASN_DISABLE_OER_SUPPORT
-DPDU
=
MessageFrame
-I
.
OBJS
=
${ASN_MODULE_SOURCES:.c=.o}
${ASN_CONVERTER_SOURCES:.c=.o}
all
:
MessageFrame.c $(TARGET)
all
:
maybe-wip-pause
MessageFrame.c $(TARGET)
$(TARGET)
:
${OBJS}
$(CC)
$(CFLAGS)
$(CPPFLAGS)
-o
$(TARGET)
${OBJS}
$(LDFLAGS)
$(LIBS)
...
...
@@ -1147,6 +1148,9 @@ check-per:
./
${TARGET}
-J0
.001
-n
1000
-b
$$
b
-iper
-onull
$$
f
||
exit
8
;
\
done
;
done
;
fi
maybe-wip-pause
:
@
if
[
-f
WIP
]
;
then
cat
WIP
;
sleep
2
;
fi
distclean
:
clean
rm
-f
$(ASN_MODULE_SOURCES)
rm
-f
$(ASN_MODULE_HEADERS)
...
...
libasn1compiler/asn1c_C.c
View file @
6aae7c62
...
...
@@ -2732,7 +2732,7 @@ emit_member_type_selector(arg_t *arg, asn1p_expr_t *expr, asn1c_ioc_table_and_ob
OUT
(
"select_%s_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
\n
"
,
MKID_safe
(
expr
));
INDENT
(
+
1
);
OUT
(
"asn_ioc_set_t *itable = asn_IOS_%s_%d;
\n
"
,
MKID
(
opt_ioc
->
objset
),
OUT
(
"
const
asn_ioc_set_t *itable = asn_IOS_%s_%d;
\n
"
,
MKID
(
opt_ioc
->
objset
),
opt_ioc
->
objset
->
_type_unique_index
);
OUT
(
"size_t constraining_column = %zu; /* %s */
\n
"
,
constraining_column
,
cfield
);
OUT
(
"size_t for_column = %zu; /* %s */
\n
"
,
for_column
,
for_field
);
...
...
@@ -2740,7 +2740,7 @@ emit_member_type_selector(arg_t *arg, asn1p_expr_t *expr, asn1c_ioc_table_and_ob
const
char
*
tname
=
asn1c_type_name
(
arg
,
constraining_memb
,
TNF_SAFE
);
if
(
constraining_memb
->
marker
.
flags
&
EM_INDIRECT
)
{
OUT
(
"void *memb_ptr = *(const void **)"
);
OUT
(
"
const
void *memb_ptr = *(const void **)"
);
OUT
(
"((const char *)parent_sptr + offsetof(struct "
);
out_name_chain
(
arg
,
ONC_avoid_keywords
);
OUT
(
", %s));"
,
MKID_safe
(
constraining_memb
));
...
...
@@ -2770,9 +2770,10 @@ emit_member_type_selector(arg_t *arg, asn1p_expr_t *expr, asn1c_ioc_table_and_ob
OUT
(
"
\n
"
);
OUT
(
"for(row=0; row < itable->rows_count; row++) {
\n
"
);
OUT
(
" asn_ioc_cell_s *constraining_cell = itable->rows[row * itable->columns_count + constraining_column];
\n
"
);
OUT
(
" asn_ioc_cell_s *type_cell = itable->rows[row * itable->columns_count + for_column];
\n
"
);
OUT
(
" if(constraining_cell->type_descriptor->struct_compare(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
\n
"
);
OUT
(
" const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
\n
"
);
OUT
(
" const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
\n
"
);
OUT
(
"
\n
"
);
OUT
(
" if(constraining_cell->type_descriptor->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
\n
"
);
OUT
(
" return type_cell->type_descriptor;
\n
"
);
OUT
(
" }
\n
"
);
OUT
(
"}
\n
"
);
...
...
libasn1compiler/asn1c_ioc.c
View file @
6aae7c62
...
...
@@ -258,8 +258,8 @@ emit_ioc_table(arg_t *arg, asn1p_expr_t *context, asn1c_ioc_table_and_objset_t i
INDENT
(
-
1
);
OUT
(
"};
\n
"
);
OUT
(
"static
asn_ioc_set_t asn_IOS_%s_%d[] = {
\n
"
,
MKID
(
ioc_tao
.
objset
)
,
ioc_tao
.
objset
->
_type_unique_index
);
OUT
(
"static
const asn_ioc_set_t asn_IOS_%s_%d[] = {
\n
"
,
MKID
(
ioc_tao
.
objset
),
ioc_tao
.
objset
->
_type_unique_index
);
INDENT
(
+
1
);
OUT
(
"%zu, %zu, asn_IOS_%s_%d_rows
\n
"
,
ioc_tao
.
ioct
->
rows
,
columns
,
MKID
(
ioc_tao
.
objset
),
ioc_tao
.
objset
->
_type_unique_index
);
...
...
skeletons/asn_ioc.h
View file @
6aae7c62
...
...
@@ -18,10 +18,10 @@ struct asn_ioc_cell_s;
/*
* X.681, #13
*/
struct
asn_ioc_set_s
{
typedef
struct
asn_ioc_set_s
{
size_t
rows_count
;
size_t
columns_count
;
struct
asn_ioc_set
_cell_s
*
rows
;
const
struct
asn_ioc
_cell_s
*
rows
;
}
asn_ioc_set_t
;
...
...
@@ -40,7 +40,7 @@ typedef struct asn_ioc_cell_s {
unsigned
choice_position
;
}
*
types
;
}
open_type
;
}
asn_ioc_cell_
s
;
}
asn_ioc_cell_
t
;
#ifdef __cplusplus
...
...
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