Defect report from : Tim Robbins , The FreeBSD Project
(Please direct followup comments direct to yyyyyyyyyyyyyy@xxxxxxxxxxxxx)
@ page 121 line 3852 section Character Set Description File editorial {tjr2}
Problem:
Edition of Specification (Year): 2003
Defect code : 1. Error
The standard states (XBD 3851-3854):
"When constants are concatenated for multi-byte character values, they shall be
of the same type, and interpreted in byte order from first to last with the
least significant byte of the multi-byte character specified by the last
constant. The manner in which these constants are represented in the character
stored in the system is implementation-defined."
Multi-byte characters do not have a least significant byte or a byte order.
Since "character" and "multi-byte character" are equivalent (XBD 1608-1610),
the manner in which multi-byte characters are represented in characters is
perfectly well defined: they are identical.
This error also occurs at XBD 4055-4056, XBD 4061-4063, XBD 4068-4070 (and in
ISO/IEC TR 14652:2002 -- Information technology -- Specification method for
cultural conventions.)
Action:
The meaning of the statement in question is not clear to me and should be
reworded paying careful attention to the difference between characters, wide
characters, and multi-byte characters. It should either say:
When constants are concatenated, they shall be of the same type, and shall be
interpreted from first to last as the bytes making up a multi-byte character.
(Second sentence deleted.)
-or-
When constants are concatenated, they shall be of the same type, and shall be
interpreted in byte order from first to last as the octets of a wide character,
with the least significant octet of the wide character specified by the last
constant. The manner in which these constants are represented in the wide
character stored in the system is implementation-defined.
|