View Issue Details

IDProjectCategoryView StatusLast Update
00014561003.1(2016/18)/Issue7+TC2System Interfacespublic2024-06-11 09:08
Reportereblake Assigned To 
PrioritynormalSeverityObjectionTypeOmission
Status ClosedResolutionAccepted As Marked 
NameEric Blake
OrganizationRed Hat
User Reference
SectionXSH 2.2.2
Page Number477
Line Number16418
Interp Status---
Final Accepted TextSee 0001456:0005879.
Summary0001456: Permit implementations to add additional confstr()/pathconf()/sysconf() constants
DescriptionXSH 2.2.2 states that implementations can generally add more constants that fit within approved namespace restrictions, and further states that any identifier beginning with underscore then upper-case is reserved for the implementation (line 16438), so an implementation can indeed add more confstr() (_CS_*), pathconf() (_PC_*) and sysconf() (_SC_*) symbols without violating the requirements. However, without explicit direction, it is not obvious that an application can test for the existence of which extensions an implementation supports, nor that an implementation should not blindly define macros in this namespace if they are not compatible with confstr/pathconf/sysconf semantics.
Desired ActionBefore page 477 line 16418 (XSH 2.2.2), add a new paragraph:
Additional symbolic constants with the prefix _CS_, _PC_, and _SC_ may be defined by the inclusion of <unistd.h>, but as these are already reserved for the implementation, they are not included in the table above. Extensions with these prefixes should be compatible with use by confstr(), pathconf(), and sysconf(), respectively.


After page 443 line 15205 (XBD <unistd.h>), add a paragraph:
The implementation may define additional symbolic constants beginning with _CS_* for use by confstr().


After page 444 line 15235, add a paragraph:
The implementation may define additional symbolic constants beginning with _PC_* for use by pathconf().


After page 447 line 15362, add a paragraph:
The implementation may define additional symbolic constants beginning with _SC_* for use by sysconf().


Optionally, the Austin Group should decide whether to add an additional requirement that extensions of these forms must be suitable for use in #if preprocessor directives.
Tagstc3-2008

Activities

Don Cragun

2022-06-30 16:12

manager   bugnote:0005879

Make the changes in the desired action, but ignoring the last sentence about #if.

geoffclare

2022-07-19 14:16

manager   bugnote:0005897

When applying this bug I noticed that the location given for the XSH 2.2.2 addition was after the second (macro-only) table, but it should go after the first (any use) table, which is where I have added it.

Issue History

Date Modified Username Field Change
2021-03-09 20:09 eblake New Issue
2021-03-09 20:09 eblake Name => Eric Blake
2021-03-09 20:09 eblake Organization => Red Hat
2021-03-09 20:09 eblake Section => XSH 2.2.2
2021-03-09 20:09 eblake Page Number => 477
2021-03-09 20:09 eblake Line Number => 16418
2021-03-09 20:09 eblake Interp Status => ---
2022-06-30 15:44 geoffclare Project 1003.1(2013)/Issue7+TC1 => 1003.1(2016/18)/Issue7+TC2
2022-06-30 16:12 Don Cragun Note Added: 0005879
2022-06-30 16:13 Don Cragun Final Accepted Text => See 0001456:0005879.
2022-06-30 16:13 Don Cragun Status New => Resolved
2022-06-30 16:13 Don Cragun Resolution Open => Accepted As Marked
2022-06-30 16:14 Don Cragun Tag Attached: tc3-2008
2022-07-19 14:16 geoffclare Note Added: 0005897
2022-07-19 14:16 geoffclare Status Resolved => Applied
2024-06-11 09:08 agadmin Status Applied => Closed