diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-03-08 23:21:17 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-03-12 14:23:57 +0000 |
commit | 439e546539b18fba44d0a1606238075663ada575 (patch) | |
tree | 574b2bbc650657184496c5cafb3488c032b29788 | |
parent | a35a9ca4d4c0aebf14f3ab0b4aad00cb86bb6a32 (diff) |
RLCMAC_EncDec: Fix handling of optional LlcBlockHdr
Whenever the OPTIONAL<> construct is used for a member of a record,
we have to add an extra set of parenthsis in order to avoid bogus
"has no RAW decode method" error messages.
It seems the OPTIONAL inherits from Base_Type which will print
"which has no RAW decoding method" from its RAW_decode().
Change-Id: Idfaa11db0e2db4be144800b5bccc44d0515220d7
-rw-r--r-- | library/RLCMAC_EncDec.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index b911c75e..0c1dd841 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -35,7 +35,7 @@ OCTETSTRING enc__RlcmacDlDataBlock(const RlcmacDlDataBlock& si) in.blocks()[i].hdr()().e() = false; else in.blocks()[i].hdr()().e() = true; - in.blocks()[i].hdr().encode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + in.blocks()[i].hdr()().encode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); } } if (in.blocks().is_bound()) { @@ -65,7 +65,7 @@ RlcmacDlDataBlock dec__RlcmacDlDataBlock(const OCTETSTRING& stream) while (1) { /* decode one more extension octet with LlcBlocHdr inside */ LlcBlock lb; - lb.hdr().decode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + lb.hdr()().decode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); ret_val.blocks()[num_llc_blocks++] = lb; /* if E == '1'B, we can proceed further */ @@ -214,7 +214,7 @@ RlcmacUlDataBlock dec__RlcmacUlDataBlock(const OCTETSTRING& stream) while (1) { /* decode one more extension octet with LlcBlocHdr inside */ LlcBlock lb; - lb.hdr().decode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + lb.hdr()().decode(LlcBlockHdr_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); ret_val.blocks()[num_llc_blocks++] = lb; TTCN_Logger::begin_event(TTCN_Logger::DEBUG_ENCDEC); |