Open
Description
Line 155 in 0d96da3
Case:
struct MySeq : med::sequence<
M<Flag>,
O<Case1, Flag::is_case1>, // is_case1 returns true if Flag.get() == 1
O<Case2, Flag::is_case2, med::inf>// is_case1 returns true if Flag.get() == 2
>
struct Msg : med::sequence<
M<L, MySeq>
>
{
};
Decoder will try to decode Case2
until the end of Msg
, but not end of MySeq
with specified length. Probably, it happens because the loop
Line 155 in 0d96da3
doesn't check
decoder(CHECK_STATE{}, ie)
and IE::condition{}(to)
return constant value for specific Msg. So loop ends only when decoding one more Case2
fails.Metadata
Metadata
Assignees
Labels
No labels