Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Anders Blomdell
LabComm
Commits
b99024d4
Commit
b99024d4
authored
Nov 21, 2014
by
Sven Gestegård Robertz
Browse files
sig_parser epsilon
parents
df5bc9cf
64e5e381
Changes
2
Hide whitespace changes
Inline
Side-by-side
lib/c/experimental/labcomm_sig_parser.c
View file @
b99024d4
...
...
@@ -402,16 +402,24 @@ static int accept_signature(labcomm_sig_parser_t *d)
int
accept_packet
(
labcomm_sig_parser_t
*
d
)
{
unsigned
char
nbytes
;
unsigned
int
type
=
peek_varint
(
d
,
&
nbytes
)
;
if
(
type
==
TYPE_DECL
)
{
if
(
type
==
VERSION
)
{
//XXX is this used? If so, is it correct?
advancen
(
d
,
nbytes
);
VERBOSE_PRINTF
(
"ignoring version "
);
int
len
=
get_varint
(
d
);
//ignore length field
advancen
(
d
,
len
);
}
else
if
(
type
==
TYPE_DECL
)
{
//XXX is this used? If so, is it correct?
advancen
(
d
,
nbytes
);
d
->
current_decl_is_varsize
=
FALSE
;
// <-- a conveniance flag in labcomm_sig_parser_t
VERBOSE_PRINTF
(
"type_decl "
);
get_varint
(
d
);
//ignore length field
accept_signature
(
d
);
}
else
if
(
type
==
SAMPLE_DECL
)
{
d
->
current_decl_is_varsize
=
FALSE
;
// <-- a conveniance flag in labcomm_sig_parser_t
advancen
(
d
,
nbytes
);
VERBOSE_PRINTF
(
"sample_decl "
);
get_varint
(
d
);
//ignore length field
accept_signature
(
d
);
}
else
if
(
type
>=
LABCOMM_USER
)
{
#ifdef EXIT_WHEN_RECEIVING_DATA
...
...
@@ -609,14 +617,19 @@ static int accept_sample_data(labcomm_sig_parser_t *d){
accept_user_id
(
d
);
unsigned
int
uid
=
pop_val
(
d
);
printf
(
"sample data... uid=0x%x
\n
"
,
uid
);
int
len
=
get_varint
(
d
);
//length field
#ifdef DEBUG
dump_signature
(
d
,
uid
);
#endif
#ifdef SKIP_BY_PARSING
struct
labcomm_signature
*
sigt
=
get_sig_t
(
d
,
uid
);
int
encoded_size
=
sigt
->
encoded_size
(
NULL
);
INFO_PRINTF
(
"encoded_size from sig: %d
\n
"
,
encoded_size
);
struct
labcomm_signature
*
sig
=
get_sig_t
(
d
,
uid
);
skip_packed_sample_data
(
d
,
sig
);
#else
advancen
(
d
,
len
);
#endif
return
TRUE
;
}
...
...
lib/c/experimental/labcomm_sig_parser.h
View file @
b99024d4
...
...
@@ -112,8 +112,9 @@ int skip_packed_sample_data(labcomm_sig_parser_t *p, struct labcomm_signature *s
#endif
typedef
enum
{
TYPE_DECL
=
LABCOMM_
TYPEDEF
,
VERSION
=
LABCOMM_
VERSION
,
SAMPLE_DECL
=
LABCOMM_SAMPLE_DEF
,
TYPE_DECL
=
LABCOMM_TYPEDEF
,
ARRAY_DECL
=
LABCOMM_ARRAY
,
STRUCT_DECL
=
LABCOMM_STRUCT
,
...
...
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