RAW encoder: wrong value if FIELDORDER msb with PADDING
Copy of titan.core#575 (closed)
Summary
The RAW encoder produces wrong encoded value if the FIELDORDER is msb and padding is used.
Steps and/or TTCN-3 code to reproduce
module proba{
type component CT {};
type record my_rec{
bitstring f1 length(6)
} with {
variant "FIELDORDER(msb)"
variant "PADDING(dword32)"
}
template my_rec t_expected:={f1:='111111'B}
testcase t_1() runs on CT{
var bitstring vl_encoded
var my_rec vl_pdu:={f1:='111111'B}
var integer vl_res
vl_encoded:=encvalue(vl_pdu)
log(vl_encoded)
}
control{
execute(t_1())
}
} with {encode "RAW"}
What is the current bug behavior?
'11000000000000000000000000000000'B
What is the expected correct behavior?
'11111100000000000000000000000000'B
Titan version
Up to 8.0.0
/cc @aknappqwt
Edited by Adam Knapp