Using normal CHOICE constraint in decoding extensible CHOICE was weird.
We should change the normal CHOICE constraint to extensible CHOICE constraint when decoding extensible CHOICE,
the extensible CHOICE constraint was lb=0,ub=specs->tag2el_count - specs->ext_start - 1. So the conditional structure
should be if specs && specs->tag2el_count > specs->ext_start, then decoding the CHOICE which range
was specs->tag2el_count - specs->ext_start, and add specs->ext_start to value in the last.
The constraints
ct
was not effective for extensible CHOICE, so ifct && ct->flags & APC_EXTENSIBLE
was true,ct
was set to0
.Using normal CHOICE constraint in decoding extensible CHOICE was weird. We should change the normal CHOICE constraint to extensible CHOICE constraint when decoding extensible CHOICE, the extensible CHOICE constraint was
lb=0,ub=specs->tag2el_count - specs->ext_start - 1
. So the conditional structure should be ifspecs && specs->tag2el_count > specs->ext_start
, then decoding the CHOICE which range wasspecs->tag2el_count - specs->ext_start
, and addspecs->ext_start
tovalue
in the last.