Austin Group Defect Tracker

Aardvark Mark IV


Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0001740 [Issue 8 drafts] Base Definitions and Headers Objection Error 2023-05-31 17:12 2023-08-08 11:25
Reporter ajosey View Status public  
Assigned To
Priority normal Resolution Accepted As Marked  
Status Applied   Product Version Draft 3
Name Andrew Josey
Organization
User Reference ISO/US-002
Section 7.3.2.4
Page Number na
Line Number na
Final Accepted Text Note: 0006389
Summary 0001740: LC_COLLATE NUL (ISO/US-002)
Description In Volume 1, under 7.3.2.4, the definition of LC_COLLATE does not preclude the possibility that NUL is not at the beginning of the collation ordering. There are no C interfaces defined by POSIX that allows observation of such ordering of NUL; however, such ordering appears to be observable via the string comparison facility of the `test` utility in environments that both treat the utility as intrinsic and allow NUL characters in shell strings (perhaps via command substitution).

The C++ standard library specifies interfaces that would allow observation of such ordering of NUL; however, the lack of standardized C interfaces with such capability means that C++ standard library implementations suffer in terms of quality or portability. localedef is a POSIX facility that serves as a source for locales with exotic sorting of NUL, so it seems within the scope of POSIX to declare that sorting under locales where NUL does not sort as the least value is subject to limitations.


Desired Action Specify that placing NUL in the collation order in any position other than the first need not succeed in all contexts.
Tags applied_after_i8d3, issue8
Attached Files doc file icon ISO_IEC CD 9945 Collated Comments.doc [^] (26,476 bytes) 2023-05-31 17:12

- Relationships

-  Notes
(0006389)
geoffclare (manager)
2023-07-17 16:28

On page 140 line 4644 section 7.3.2, after:
Note: Users installing their own locales should ensure that they define a collation sequence with a total ordering of all characters unless an '@' modifier in the locale name (such as @icase) indicates that it has a special collation sequence.
add:
As <NUL> is reserved as the string terminator for most usages of LC_COLLATE, it is the responsibility of the locale writer to ensure <NUL> has the lowest primary weight in a collation ordering for the interfaces to behave in the way users typically expect. Unusual behavior may result if it has any other collation order weighting, or is subject to IGNORE.

On page 144 line 4795 section 7.3.2.4, after:
order_start  forward;backward
add:
<NUL>        <NUL>;<NUL>

- Issue History
Date Modified Username Field Change
2023-05-31 17:12 ajosey New Issue
2023-05-31 17:12 ajosey File Added: ISO_IEC CD 9945 Collated Comments.doc
2023-05-31 17:12 ajosey Name => Andrew Josey
2023-05-31 17:12 ajosey User Reference => ISO/US-002
2023-05-31 17:12 ajosey Section => 7.3.2.4
2023-05-31 17:12 ajosey Page Number => na
2023-05-31 17:12 ajosey Line Number => na
2023-05-31 17:12 ajosey Summary LC_COLLATE NUL (ISO/US-001) => LC_COLLATE NUL (ISO/US-002)
2023-07-17 16:28 geoffclare Note Added: 0006389
2023-07-17 16:29 geoffclare Final Accepted Text => Note: 0006389
2023-07-17 16:29 geoffclare Status New => Resolved
2023-07-17 16:29 geoffclare Resolution Open => Accepted As Marked
2023-07-17 16:29 geoffclare Tag Attached: issue8
2023-08-08 11:25 geoffclare Status Resolved => Applied
2023-08-08 11:25 geoffclare Tag Attached: applied_after_i8d3


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker