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
diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc
index b911c75..0c1dd84 100644
--- a/library/RLCMAC_EncDec.cc
+++ b/library/RLCMAC_EncDec.cc
@@ -35,7 +35,7 @@
 				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 @@
 		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 @@
 		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);