Document Number: AUSTIN/97 Title: XSHd7 Aardvark Change Request Report Revision Date: 2001-07-09 Source: Andrew Josey, Chair Action: for review This report contains the dispositions of the aardvark comments submitted against the XSH Draft 7. Aardvark Summary Table ______________________ ERN 1 Accept ERN 2 Reject ERN 3 Accept ERN 4 Accept ERN 5 Accept ERN 6 Accept ERN 7 Accept ERN 8 Accept ERN 9 Accept ERN 10 Accept ERN 11 Reject ERN 12 Accept ERN 13 Accept as marked ERN 14 Accept ERN 15 Accept ERN 16 Accept ERN 17 Accept ERN 18 Accept as marked ERN 19 Accept ERN 20 Accept as marked ERN 21 Accept ERN 22 Accept as marked ERN 23 Accept ERN 24 Accept ERN 25 Reject ERN 26 Accept ERN 27 Accept ERN 28 Accept ERN 29 Accept ERN 30 Accept ERN 31 Accept ERN 32 Accept ERN 33 Accept ERN 34 Accept ERN 35 Accept ERN 36 Accept ERN 37 Accept ERN 38 Accept ERN 39 Accept ERN 40 Accept ERN 41 Accept ERN 42 Duplicate of 13 ERN 43 Accept ERN 44 Accept ERN 45 Accept ERN 46 Accept ERN 47 Accept ERN 48 Reject ERN 49 Accept ERN 50 Accept ERN 51 Accept ERN 52 Accept ERN 53 Accept _____________________________________________________________________________ Editorial Enhancement Request Number 1 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 8) [DWC-3] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 526 Line: 3211 Section: 2.11.2.1 Problem: (Table 2-5 tbl artifact) This line contains a hyphen or underscore character, but it looks like it should have been a line separating the table entries above and below. Action: Change the character on P526, L3211 into a line between "error" and "int" in the Associated Data/Data Type column. ------------------------------------------------------------------------------ _____________________________________________________________________________ Comment Enhancement Request Number 2 Andries.Brouwer@cwi.nl BUG in XSHd7 (rdvk# 4) [] Mon, 18 Jun 2001 17:44:12 +0200 (MET DST) _____________________________________________________________________________ Accept_____ Accept as marked below_____ Duplicate_____ Reject_X___ Rationale for rejected or partial changes: Reject, this is out of scope since the wording is from a base document. An interpretation has been filed. If the interpretation comes through and confirms that a change to the wording is necessary this could be considered for Technical corrigendum number 1. _____________________________________________________________________________ Page: 545 Line: 3708 Section: omitted Problem: As for open() Action: Change line 3708 to [EROFS] Write access is requested for a regular file on a read-only file system. Add below line 3717 (in the section "may fail if") [EROFS] Write access is requested for a file on a read-only file system. ---------------------------------------------------------------- [Ed recommendation: Reject This is out of scope , an interpretation request has been filed] _____________________________________________________________________________ Editorial Enhancement Request Number 3 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 9) [DWC-4] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 574 Line: 4532-4538 Section: asinf() Problem: (asinf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the asinf() pointer page immediately follows the asin() page to which it points. Action: Delete P574. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 4 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 10) [DWC-5] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 577 Line: 4592-4599 Section: asinhf() Problem: (asinhf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the asinhf() pointer page immediately follows the asinh() page to which it points. Action: Delete P577. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 5 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 11) [DWC-6] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 614 Line: 5620-5626 Section: casinf() Problem: (casinf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the casinf() pointer page immediately follows the casin() page to which it points. Action: Delete P614. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 6 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 12) [DWC-7] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 618 Line: 5696-5702 Section: catanf() Problem: (catanf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the catanf() pointer page immediately follows the catan() page to which it points. Action: Delete P618. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 7 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 13) [DWC-8] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 628 Line: 5946-5952 Section: ccosf() Problem: (ccosf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the ccosf() pointer page immediately follows the ccos() page to which it points. Action: Delete P628. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 8 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 14) [DWC-9] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 678 Line: 7554-7560 Section: cosf() Problem: (cosf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the cosf() pointer page immediately follows the cos() page to which it points. Action: Delete P678. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 9 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 15) [DWC-10] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 690 Line: 7877-7883 Section: csinf() Problem: (csinf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the csinf() pointer page immediately follows the csin() page to which it points. Action: Delete P690. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 10 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 16) [DWC-11] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 695 Line: 7977-7983 Section: ctanf() Problem: (ctanf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the ctanf() pointer page immediately follows the ctan() page to which it points. Action: Delete P695. ------------------------------------------------------------------------------ _____________________________________________________________________________ Objection Enhancement Request Number 11 Donn Terry Bug in XSId7 dbm (rdvk# 50) [DST-3] Mon, 25 Jun 2001 17:28:02 -0700 _____________________________________________________________________________ Accept_____ Accept as marked below_____ Duplicate_____ Reject_X___ Rationale for rejected or partial changes: Removing the interface as suggested in the action at this point of the document development is out of scope. These routines are present to support the historical base of applications and have been drawn from the base documents. Some changes have been made during this revision to clarify the interface, in particular additional text was added to the APPLICATION USAGE to note the limitations of the interface. To make further changes or withdraw the interfaces would reduce the consensus. It is recommended that this objection be left on file for consideration in a future revision. _____________________________________________________________________________ Page: 704 Line: 8195 Section: dbm_clearerr Problem: In short: no strictly conforming and (minimally) useful application can be written to this API. If this cannot be fixed, the API should be removed. The key sentence here is "the application shall assure that all key/content pairs that hash together fit on a single block." This implies that the application must take a-priori action (it must "assure") that this failure does not happen. Since the hash function is not specified, and for any hash function there might exist a dataset for which the hash function is degenerate (that is, hashes to the same value for all inputs acutually used), a strictly conforming application is limited to using the minimum block size of 1024 bytes, which is insufficient to make the function useful. It is not necessary to specify the hash function to solve the problem; it is only necessary to specify how the application can (and should/must) respond to such a collision. Having dbm_store return an unspecified error is not sufficient (unless the standard says that that is the ONLY error it can return, which I believe is a bad idea.) Having it return a specific error that the application can write to (and a specification of what a recommended action might be), would appear to be sufficient to make the function useful. If consensus cannot be achieved on how to make the function useful to a strictly conforming application, the only conscienceable action is to withdraw the interface, on the grounds that sufficient consensus has not been reached to justify its inclusion in a standard. See ERN #22 from D6, which says: "The wording is the best that could be achieved and retain consensus." Action: Withdraw the dbm API. Other actions might be acceptable, but given the requirement for a specific action, I choose this. _____________________________________________________________________________ Editorial Enhancement Request Number 12 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 17) [DWC-12] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 718 Line: 8677 Section: dlsym() Problem: (dlsym() Change History) Two flags are reserved for future use, not just one. Action: Change "RTLD_DEFAULT flag is" on P718 8677 to "RTLD_DEFAULT and RTLD_NEXT flags are". ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 13 dwc@spartan.eng.sun.com Bug in XSH6d7 (rdvk# 51) [DWC-70] Thu, 28 Jun 2001 18:26:05 -0700 (PDT) _____________________________________________________________________________ Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____ Rationale for rejected or partial changes: See XBDd7 ERN 1 _____________________________________________________________________________ Page: 844 Line: 12553 Section: fnmatch() Problem: (backslash character constant in fnmatch()) The character constant representing the backslash character is "'\\'". Action: Change "'\'" on P844, L12553 to "'\\'". ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 14 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 18) [DWC-13] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 972 Line: 16971-16978 Section: gethostbyname() Problem: (gethostbyname() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the gethostbyname() pointer page immediately follows the gethostbyaddr() page to which it points. Action: Delete P972. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 15 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 19) [DWC-14] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 987-989 Line: 17437-17456 Section: getnetbyaddr()-getnetent() Problem: (getnetbyaddr(), getnetbyname(), and getnetent() pointer pages) When three adjacent pointer pages all point to the same page they can be combined onto a single page. All three of these pages point back to the endnetent() page. Action: Move P988, L17447 to follow P987, L17440. Move P989, L17454 to follow the line moved above. Delete the remainder of P988 and P989. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 16 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 20) [DWC-15] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1004-1006 Line: 17930-17950 Section: getprotobyname()-getprotoent() Problem: (getprotobyname(), getprotobynumber(), and getprotoent() pointer pages) When three adjacent pointer pages all point to the same page they can be combined onto a single page. All three of these pages point back to the endprotoent() page. Action: Move P1005, L17941 to follow P1004, L17934. Move P1006, L17948 to follow the line moved above. Delete the remainder of P1005 and P1006. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 17 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 21) [DWC-16] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1020-1022 Line: 18353-18373 Section: getservbyname()-getservent() Problem: (getservbyname(), getservbyport(), and getservent() pointer pages) When three adjacent pointer pages all point to the same page they can be combined onto a single page. All three of these pages point back to the endservent() page. Action: Move P1021, L18364 to follow P1020, L18357. Move P1022, L18371 to follow the line moved above. Delete the remainder of P1021 and P1022. ------------------------------------------------------------------------------ _____________________________________________________________________________ comment Enhancement Request Number 18 Jon Hitchcock Bugs in XSHd7 (rdvk# 6) {jjh64} Fri, 22 Jun 2001 10:44:47 +0100 _____________________________________________________________________________ Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____ Rationale for rejected or partial changes: It is out of scope to make changes to the interface at this point in the document development. This item is being deferred for consideration for Technical Corrigendum number 1. _____________________________________________________________________________ Page: 1042 Line: 19096 Section: gmtime Problem: (Suggestion for a Technical Corrigendum) The ISO C standard says that gmtime() returns a null pointer if the specified time cannot be converted to UTC. There are two reasons why this might happen: 1) the implementation cannot relate any time_t values to UTC, 2) the particular time_t value is invalid. POSIX.1 relies on the C standard to specify gmtime(). The Single Unix Specification (like many Unix man pages) just says that gmtime() returns a pointer to a struct tm. This was probably because: 1) in POSIX, the time_t value is always related to UTC by the "seconds since the Epoch" expression. 2) with a 32-bit time_t it is impossible to have a value so large that the corresponding year cannot be held in an int, and the case of negative values was ignored. The current text follows the Single Unix Specification, but with a 64-bit time_t and a 32-bit tm_year it is possible to get an error. Action: Add "If an error is detected, gmtime() shall return a null pointer." (Note that there is a POSIX interpretation request (PASC 1003.1 #133) on gmtime_r() which would then make the descriptions of the return values from two functions be similar.) _____________________________________________________________________________ Editorial Enhancement Request Number 19 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 22) [DWC-17] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1071 Line: 19895-19901 Section: inet_ntoa() Problem: (inet_ntoa() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the inet_ntoa() pointer page immediately follows the inet_addr() page to which it points. Action: Delete P1071. ------------------------------------------------------------------------------ _____________________________________________________________________________ comment Enhancement Request Number 20 Jon Hitchcock Bugs in XSHd7 (rdvk# 7) {jjh65} Fri, 22 Jun 2001 10:44:47 +0100 _____________________________________________________________________________ Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____ Rationale for rejected or partial changes: It is out of scope to make changes to the interface at this point in the document development. This item is being deferred for consideration for Technical Corrigendum number 1. _____________________________________________________________________________ Page: 1177 Line: 23206 Section: localtime Problem: (Suggestion for a Technical Corrigendum) The ISO C standard says that localtime() returns a null pointer if the specified time cannot be converted to local time. There are two reasons why this might happen: 1) the implementation cannot relate any time_t values to local time, 2) the particular time_t value is invalid. POSIX.1 relies on the C standard to specify localtime(). The Single Unix Specification (like many Unix man pages) just says that localtime() returns a pointer to the broken-down time structure. This was probably because: 1) in POSIX, the time_t value is always related to local time by the "seconds since the Epoch" expression and the timezone information. 2) with a 32-bit time_t it is impossible to have a value so large that the corresponding year cannot be held in an int, and the case of negative values was ignored. The current text follows the Single Unix Specification, but with a 64-bit time_t and a 32-bit tm_year it is possible to get an error. The current text for localtime_r() follows POSIX.1 and says that it returns a pointer to the structure pointed to by the argument result. Action: Add "If an error is detected, localtime() shall return a null pointer." And consider changing localtime_r() likewise. _____________________________________________________________________________ Editorial Enhancement Request Number 21 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 23) [DWC-18] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1193-1194 Line: 23701-23714 Section: logf()-logl() Problem: (logf() and logl() pointer pages) When two adjacent pointer pages point to the same page they can be combined onto a single page. Both these pages point back to the log() page. Action: Move P1194, L23712 to follow P1193, L23705. Delete the remainder of P1194. ------------------------------------------------------------------------------ _____________________________________________________________________________ editorial Enhancement Request Number 22 mitr@volny.cz Bug in XSHd7 mknod (rdvk# 1) {[???]} Sat, 16 Jun 2001 11:56:59 +0100 (BST) _____________________________________________________________________________ Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____ Rationale for rejected or partial changes: Change from: Implementations may, but need not, provide an implementation-defined way to initialize the function shall clear each bit whose corresponding bit in the file mode creation mask of the process is set. to: Implementations may, but need not, provide an implementation-defined way to initialize the file's group ID to the effective group ID of the calling proces. The owner, group, and other permission bits of mode shall be modified by the file mode creation mask of the process. The mknod( ) function shall clear each bit whose corresponding bit in the file mode creation mask of the process is set.] _____________________________________________________________________________ Page: 1237 Line: 24982 Section: mknod Problem: (Draft 5 ERN reference: NA ) The fix gorup->group resulted in missing words and a sentence that doesn't make sense. Action: replace "implementation-defined way to initialize the function shall" with the text from XSHd6 with only the typo corrected. [Ed recommendation:Accept Change from: Implementations may, but need not, provide an implementation-defined way to initialize the function shall clear each bit whose corresponding bit in the file mode creation mask of the process is set. to: Implementations may, but need not, provide an implementation-defined way to initialize the file's group ID to the effective group ID of the calling proces. The owner, group, and other permission bits of mode shall be modified by the file mode creation mask of the process. The mknod( ) function shall clear each bit whose corresponding bit in the file mode creation mask of the process is set.] _____________________________________________________________________________ Editorial Enhancement Request Number 23 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 24) [DWC-19] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1305 Line: 27037-27045 Section: nexttoward() Problem: (nexttoward() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the nexttoward() pointer page immediately follows the nextafter() page to which it points. Action: Delete P1305. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 24 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 25) [DWC-20] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1314-1315 Line: 27272-27285 Section: ntohl()-ntohs() Problem: (ntohl() and ntohs() pointer pages) When two adjacent pointer pages point to the same page they can be combined onto a single page. Both these pages point back to the htonl() page. Action: Move P1315, L27283 to follow P1314, L27276. Delete the remainder of P1315. ------------------------------------------------------------------------------ _____________________________________________________________________________ Comment Enhancement Request Number 25 Andries.Brouwer@cwi.nl BUG in XSHd7 (rdvk# 3) [] Mon, 18 Jun 2001 17:44:12 +0200 (MET DST) _____________________________________________________________________________ Accept_____ Accept as marked below_____ Duplicate_____ Reject_X___ Rationale for rejected or partial changes: Reject, this is out of scope since the wording is from a base document. An interpretation has been filed. If the interpretation comes through and confirms that a change to the wording is necessary this could be considered for Technical corrigendum number 1. _____________________________________________________________________________ Page: 1319 Line: 27425 Section: open Problem: Lines 27425-27427 (of the d7 draft) say that open() shall fail with EROFS when the file resides on a read-only file system. However, "reside" is not a defined word, and under the natural interpretation this would make it impossible say to open /dev/tty read-write when this special file is located on a read-only device (say, a CDROM). Action: Change the lines to [EROFS] The named file is a regular file and ... Add below line 27440 (in the section "may fail if") [EROFS] The named file resides on a read-only file system and either O_WRONLY, O_RDWR, O_CREAT (if file does not exist), or O_TRUNC is set in the oflag argument. [Ed recommendation: Reject This is out of scope , an interpretation request has been filed] _____________________________________________________________________________ Editorial Enhancement Request Number 26 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 26) [DWC-21] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1369 Line: 29012-29020 Section: posix_spawn_file_actions_init() Problem: (posix_spawn_file_actions_init() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the posix_spawn_file_actions_init() pointer page immediately follows the posix_spawn_file_actions_destroy() page to which it points. Action: Delete P1369. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 27 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 27) [DWC-22] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1396-1397 Line: 29570-29589 Section: posix_trace_attr_getcreatetime()-posix_trace_attr_getgenversion() Problem: (posix_trace_attr_getcreatetime() and posix_trace_attr_getgenversion() pointer pages) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the posix_trace_attr_getcreatetime() and posix_trace_attr_getgenversion() pointer pages immediately follow the posix_trace_attr_getclockres() page to which they point. Action: Delete P1396-1397. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 28 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 28) [DWC-23] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1401 Line: 29702-29710 Section: posix_trace_attr_getlogfullpolicy() Problem: (posix_trace_attr_getlogfullpolicy() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the posix_trace_attr_getlogfullpolicy() pointer page immediately follows the posix_trace_attr_getinherited() page to which it points. Action: Delete P1401. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 29 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 29) [DWC-24] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1405 Line: 29812-29829 Section: posix_trace_attr_getmaxdatasize() Problem: (posix_trace_attr_getmaxdatasize() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the posix_trace_attr_getmaxdatasize() pointer page immediately follows the posix_trace_attr_getlogsize() page to which it points. Action: Delete P1405. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 30 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 30) [DWC-25] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1410-1411 Line: 29867-29884 Section: posix_trace_attr_setinherited()-posix_trace_attr_setlogfullpolicy() Problem: (posix_trace_attr_setinherited() and posix_trace_attr_setlogfullpolicy() pointer pages) When two adjacent pointer pages both point to the same page they can be combined onto a single page. Both of these pages point back to the posix_trace_attr_getinherited() page. Action: Move P1411, L29880-29881 to follow P1410, L29872. Delete the remainder of P1411. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 31 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 31) [DWC-26] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1412-1413 Line: 29885-29904 Section: posix_trace_attr_setlogsize()-posix_trace_attr_setmaxdatasize() Problem: (posix_trace_attr_setlogsize() and posix_trace_attr_setmaxdatasize() pointer pages) When two adjacent pointer pages both point to the same page they can be combined onto a single page. Both of these pages point back to the posix_trace_attr_getlogsize() page. Action: Move P1413, L29900-29901 to follow P1412, L29891. Delete the remainder of P1413. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 32 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 32) [DWC-27] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1429 Line: 30374-30382 Section: posix_trace_eventid_get_name() Problem: (posix_trace_eventid_get_name() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the posix_trace_eventid_get_name() pointer page immediately follows the posix_trace_eventid_equal() page to which it points. Action: Delete P1429. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 33 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 33) [DWC-28] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1443-1444 Line: 30743-30758 Section: posix_trace_open()-posix_trace_rewind() Problem: (posix_trace_open() and posix_trace_rewind() pointer pages) When two adjacent pointer pages both point to the same page they can be combined onto a single page. Both of these pages point back to the posix_trace_close() page. Action: Move P1444, L30755 to follow P1443, L30747. Delete the remainder of P1444. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 34 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 34) [DWC-29] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1501 Line: 32102-32110 Section: pthread_barrier_init() Problem: (pthread_barrier_init() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the pthread_barrier_init() pointer page immediately follows the pthread_barrier_destroy() page to which it points. Action: Delete P1501. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 35 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 35) [DWC-30] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1523 Line: 32746-32755 Section: pthread_cond_init() Problem: (pthread_cond_init() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the pthread_cond_init() pointer page immediately follows the pthread_cond_destroy() page to which it points. Action: Delete P1523. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 36 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 36) [DWC-31] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1530 Line: 32964-32972 Section: pthread_cond_wait() Problem: (pthread_cond_wait() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the pthread_cond_wait() pointer page immediately follows the pthread_cond_timedwait() page to which it points. Action: Delete P1530. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 37 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 37) [DWC-32] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1603 Line: 35078-35086 Section: pthread_rwlock_init() Problem: (pthread_rwlock_init() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the pthread_rwlock_init() pointer page immediately follows the pthread_rwlock_destroy() page to which it points. Action: Delete P1603. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 38 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 38) [DWC-33] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1634 Line: 35855-35862 Section: pthread_spin_init() Problem: (pthread_spin_init() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the pthread_spin_init() pointer page immediately follows the pthread_spin_destroy() page to which it points. Action: Delete P1634. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 39 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 39) [DWC-34] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1637 Line: 35907-35914 Section: pthread_spin_trylock() Problem: (pthread_spin_trylock() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the pthread_spin_trylock() pointer page immediately follows the pthread_spin_lock() page to which it points. Action: Delete P1637. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 40 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 40) [DWC-35] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1651 Line: 36255-36263 Section: putpmsg() Problem: (putpmsg() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the putpmsg() pointer page immediately follows the putmsg() page to which it points. Action: Delete P1651. ------------------------------------------------------------------------------ _____________________________________________________________________________ comment Enhancement Request Number 41 curtis.smith@simtrol.com Bug in XSHd7 readlink() examples (rdvk# 2) {cms-readlink} Tue, 19 Jun 2001 22:29:40 +0100 (BST) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1677 Line: 37048-37051 Section: readlink() Problem: (Draft 5 ERN reference: NA ) (1) inappropriate semicolon following condition in if statement (2) subsequent conditional statement not indented as customary (3) most appropriate type for len is ssize_t Action: Change int len; ... if ((len = readlink(...)) != -1); buf[len] = '\0'; To ssize_t len; ... if ((len = readlink(...)) != -1) buf[len] = '\0'; [Ed recommendation: Accept] _____________________________________________________________________________ Editorial Enhancement Request Number 42 dwc@spartan.eng.sun.com Bug in XSH6d7 (rdvk# 52) [DWC-71] Thu, 28 Jun 2001 18:26:05 -0700 (PDT) _____________________________________________________________________________ Accept_____ Accept as marked below_____ Duplicate_of_13 Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1695 Line: 37635 Section: regcomp() Problem: (backslash character constant in regcomp()) The character constant representing the backslash character is "'\\'". Action: Change "'\'" on P1695, L37635 to "'\\'". ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 43 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 41) [DWC-36] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1725 Line: 38570-38578 Section: scalbn() Problem: (scalbn() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the scalbn() pointer page immediately follows the scalbln() page to which it points. Action: Delete P1725. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 44 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 42) [DWC-37] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1852 Line: 42376-42383 Section: sigignore() Problem: (sigignore() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the sigignore() pointer page immediately follows the sighold() page to which it points. Action: Delete P1852. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 45 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 43) [DWC-38] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1865-1866 Line: 42742-42757 Section: sigrelse()-sigset() Problem: (sigrelse() and sigset() pointer pages) When two adjacent pointer pages both point to the same page they can be combined onto a single page. Both of these pages point back to the sighold() page. Action: Move P1866, L42754 to follow P1865, L42746. Delete the remainder of P1866. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 46 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 44) [DWC-39] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1880 Line: 43141-43147 Section: sinf() Problem: (sinf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the sinf() pointer page immediately follows the sin() page to which it points. Action: Delete P1880. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 47 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 45) [DWC-40] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1922 Line: 44309 Section: strfmon() Problem: (extraneous page break) There is no obvious reason for a page break at the end of the ERRORS section. The EXAMPLES section could start on this same page. Action: Remove the page break after P1922, L44309. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 48 Donn Terry Bug in xsid7 strfmon presentation (rdvk# 53) [DST-4] Thu, 28 Jun 2001 09:20:33 -0700 _____________________________________________________________________________ Accept_____ Accept as marked below_____ Duplicate_____ Reject_X___ Rationale for rejected or partial changes: The delta character is only used in output file format notation in XCU. _____________________________________________________________________________ Page: 1923 Line: 44313 Section: strfmon Problem: This is an improvement, in that it gives the user a better basis upon which to guess the meaning of the various format specifiers. However, it can be done better: use the "delta" character we use elsewhere for explicit spaces to represent each blank inside square brackets. It appears that simply substituting the code for delta for blanks inside the brackets (and then removing the brackets) would be sufficient. Action: Use "delta" for explicit spaces here. _____________________________________________________________________________ Editorial Enhancement Request Number 49 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 46) [DWC-41] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1948 Line: 45138-45144 Section: strtof() Problem: (strtof() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the strtof() pointer page immediately follows the strtod() page to which it points. Action: Delete P1948. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 50 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 47) [DWC-42] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 1984 Line: 46240-46246 Section: tanf() Problem: (tanf() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the tanf() pointer page immediately follows the tan() page to which it points. Action: Delete P1984. ------------------------------------------------------------------------------ _____________________________________________________________________________ editorial Enhancement Request Number 51 gwc@unisoft.com BUG in XSHd7 times (rdvk# 5) [gwc times examp] Fri, 22 Jun 2001 09:45:33 +0100 _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 2027 Line: 47458 Section: times Problem: XSHd6 ERN 79 was applied incorrectly. (The changes from Austin/88 were applied instead of the ones from Austin/88r1.) Action: Replace line 47458 with: /* this example assumes that the result of each subtraction is within the range of values that can be represented in an integer type */ _____________________________________________________________________________ Editorial Enhancement Request Number 52 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 48) [DWC-43] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 2047 Line: 48022-48029 Section: tzname() Problem: (tzname() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the tzname() pointer page immediately precedes the tzset() page to which it points. Action: Delete P2047. ------------------------------------------------------------------------------ _____________________________________________________________________________ Editorial Enhancement Request Number 53 dwc@spartan.eng.sun.com Bug in XSHd7 (rdvk# 49) [DWC-44] Fri, 22 Jun 2001 12:51:36 -0700 (PDT) _____________________________________________________________________________ Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____ Rationale for rejected or partial changes: _____________________________________________________________________________ Page: 2134 Line: 50496-50503 Section: wcstoull() Problem: (wcstoull() pointer page) A pointer page is only needed if some page comes between the alphabetic order of the function named on the pointer page and the page to which it points. In this case the wcstoull() pointer page immediately follows the wcstoul() page to which it points. Action: Delete P2134. ------------------------------------------------------------------------------