[
https://issues.apache.org/jira/browse/DAFFODIL-2703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17552881#comment-17552881
]
Mike Beckerle commented on DAFFODIL-2703:
-----------------------------------------
Should it be an SDE if you define fillByte to be a character (via %#xNN; or
%#DD; or just use a character or an XML entity like &#xNN; or &#DD;), and the
character doesn't exist in the charset?
I think so. If you specify a fill byte by specifying a single character, it's
supposed to be a character in a single-byte-wide charset. If it is unmapped it
should be an SDE.
I think this would be helpful to avoid people getting '?' when they want %#rFF;
> Unaligned RightFill does not unparse correctly
> ----------------------------------------------
>
> Key: DAFFODIL-2703
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2703
> Project: Daffodil
> Issue Type: Bug
> Components: Back End, Back End C-Generator
> Affects Versions: 3.3.0
> Reporter: Steve Lawrence
> Priority: Major
> Attachments: unalignedRightFill.tdml, unalignedRightFills.tdml
>
>
> See the attached unalignedRightFill.tdml file for reproducible tests.
> Data is a single byte. Only the most significant bit is actual data. The
> remaining 7 bits are RightFill region using a fillByte value of 0xF0. So the
> data should always unparse to X111 0000, where the value of X comes from the
> infoset.
> Note that runtime1 and runtime2 have different behaviors, neither of which I
> think is correct:
>
>
> *unalignedRightFill_01* (bit from infoset is 1)
> should unparse to 0xF0 (1111 0000)
> runtime1 unparses to 0xBF (1011 1111)
> runtime2 unparses to 0x9F (1001 1111)
>
> *unalignedRightFill_02* (bit from infoset is 0)
> should unparse to 0x70 (0111 0000)
> runtime1 unaprses to 0x3F (0011 1111)
> runtime2 unparses to 0x1F (0001 1111)
--
This message was sent by Atlassian Jira
(v8.20.7#820007)