Document Number: AUSTIN/131 Title: XBD/ft/4 Aardvark Change Request Report (draft) Revision Date: 2002-09-06 Source: Andrew Josey, Chair Action: for review This report contains the draft dispositions of the aardvark comments submitted against the XBD/ft/4 (4th batch of FT aardvark) text. Aardvark Summary Table (XBD FT) ______________________ ERN 1 Accept ERN 2 Accept as marked _____________________________________________________________________________ EDITORIAL Enhancement Request Number 1 gwc@opengroup.org Defect in XBD unistd.h (rdvk# 5) [gwc unistd_PC+SC_SYML] Wed, 14 Aug 2002 14:33:11 +0100 _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 407,408 Line: 14400,14477 Section: unistd.h Problem: Defect code : 1. Error Missing _PC_SYMLINK_MAX and _SC_SYMLOOP_MAX. Action: Insert before line 14400: _PC_SYMLINK_MAX Insert before line 14477: _SC_SYMLOOP_MAX _____________________________________________________________________________ EDITORIAL Enhancement Request Number 2 donnte@microsoft.com Defect in XBD wchar.h (rdvk# 2) {x} Thu, 15 Aug 2002 18:25:18 +0100 (BST) _____________________________________________________________________________ Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____ Rationale for rejected or partial changes: Add to APP USAGE The iswblank() function was a late addition to the ISO C standard and introduced at the same time as the ISO C standard introduced , which contains all of the isw* functions. The Open Group specification had previously aligned with the MSE draft and had introduced the rest of the isw* functions into . For backwards compatability, the original set of isw* functions, without iswblank(), are permitted (as an XSI extension) in . For maximum portability, applications should include the in order to obtain declarations for the isw* functions. Add to Change History The APPLICATION USAGE section is added. _____________________________________________________________________________ Page: 419 Line: 14901 Section: wchar.h Problem: Defect code : 3. Clarification required The function iswblank is not listed amongst the rest of the isw* functions listed here (as an XSI extension). This irregularity is intentional, it turns out, having discussed it with the Austin Group mailing list. However, no mention that it is intentional is made anywhere, and it seems likely that this will be forgotten (again). The following from Don Cragun has all the details. If we're going to talk about history, let's get it right. XSH4 aligned with requirements from a draft of what was to become Amendment 1 to the 1990 C Standard. In that draft, the isw*() functions were to be declared in . In that draft there was no iswblank() function. XSH5 aligned with the approved ISO/IEC 9899:1990/Amd. 1:1995. In the adopted amendment, the isw*() functions were specified to be declared in ; there still was no iswblank() function. In the 1999 revision of the C Standard, the isw*() functions (including iswblank()) are required to be declared in . So, quality of implementation and backwards compatibility do not allow iswblank() to be declared in unless some non-standard feature test macro is invoked to make it visible as an extension to the standard. Backwards compatibility to XSH4 and XSH4v2 requires that be present and that the functions that were specified by the draft amendment be declared there. Backwards compatibility to XSH5 requires that when is included by an application specifying feature test macros for a build of an SUSv2 conforming application, no declaration of iswblank() is visible (but that is specified by XSH5, not XSH6). XSH6 is aligned with the 1999 C Standard and usually, when there is no conflict, supports backward compatiblity with XSH5, XSH4v2, XSH4, and to some extent XSH3, XSH2, and the original X/Open Portability Guide. Action: Add to (per section) Rationale (or Application Usage): The iswblank() function was a later addition to the ISO C standard and at the same time the ISO C standard introduced , which contains all of the isw* functions. The TOG standards had already introduced the rest of the isw* functions into . For backwards compatability, the rest of the isw* functions are retained (as an XSI extension) in , but iswblank() is not included there. For maximum portability, applications should rely on getting all the isw* functions from .