XBD D3R Aardvark Reports Austin-393 Page 1 of 1
Submitted by Andrew Josey, The Open Group. Sep 10, 2007
Aardvark Summary Table
______________________
ERN 1 Accept
ERN 2 Accept as marked
ERN 3 Accept as marked
ERN 4 Accept as marked
ERN 5 Accept
ERN 6 Accept
ERN 7 Accept
ERN 8 Accept
ERN 9 Accept
ERN 10 Accept as marked
ERN 11 Duplicate of 4
ERN 12 Accept
ERN 13 Accept as marked
ERN 14 Accept
ERN 15 Accept
ERN 16 Accept as marked
ERN 17 Accept as marked
ERN 18 Accept
ERN 19 Accept
ERN 20 Accept as marked
ERN 21 Accept as marked
_____________________________________________________________________________
OBJECTION Enhancement Request Number 1
gwc:xxxxxxxxxxxxx Bug in XBDd3 3.84 (rdvk# 1)
[gwc byte oriented funcs] Fri, 6 Jul 2007 16:55:34 +0100
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 45 Line: 1424 Section: 3.84
Problem:
Some of the functions added in the revision need to be included in
the list of byte input/output functions.
Also, perror() seems to have found its way into the list somehow,
but it should not be there.
Since psiginfo() and psignal() are counterparts to perror(), presumably
they should not be added to the list, but should have the same
requirement as perror() not to change the stream orientation.
Action:
Add getdelim() and getline() to the list.
Remove perror() from the list.
Cross-volume change to XSH:
page 1491 line 48541 section psiginfo, add a new paragraph:
"The psiginfo() and psignal() functions shall not change the
orientation of the standard error stream."
_____________________________________________________________________________
EDITORIAL Enhancement Request Number 2
gwc:xxxxxxxxxxxxx Bug in XBDd3 3.225 (rdvk# 3)
[gwc monotonic clock def] Fri, 6 Jul 2007 09:22:58 +0100
_____________________________________________________________________________
Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
Change from
A realtime clock whose value cannot be set via clock_settime() and which
cannot have negative clock jumps.
to
A clock measuring real time whose value cannot be set via
clock_settime() and which cannot have negative clock jumps.
CROSS VOL XSH
On clock_getres() in DESCRIPTION para 4 change from
This clock represents the realtime clock for the
system.
to
This clock represents the clock measuring real time for the
system.
_____________________________________________________________________________
Page: 64 Line: 1964 Section: 3.225
Problem:
XBD ERN 74 has not been correctly applied. The new text was
supposed to use the defined term "real time", not the word
"realtime".
The aardvark also asked for a change from "realtime" to "real time"
in two other places to be considered. The AAM comment says "take the
changes as proposed below", which I believe was supposed to include
those two changes.
Action:
On P64 L1964, P403 L13892 and P403 L13898 change "realtime" to "real time".
Cross-volume change to XSH:
page 643 line 22214 section clock_getres, change "realtime" to "real time".
_____________________________________________________________________________
OBJECTION Enhancement Request Number 3
gwc:xxxxxxxxxxxxx Bug in XBDd3 3.243 null pointer (rdvk# 6)
[gwc null pointer] Fri, 27 Jul 2007 15:13:10 +0100
_____________________________________________________________________________
Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
Take the change but add the following note
Note: An issue has been raised with the ISO C committee regarding whether
an integer constant expression 0 should be considered a null pointer if it
is not cast to a pointer type.
_____________________________________________________________________________
Page: 67 Line: 2039 Section: 3.243
Problem:
The definition of "null pointer" is in conflict with the C Standard.
Also there are various uses of "NULL pointer" which should be the
defined term "null pointer".
The first change is in scope because it is a conflict with the
C Standard. The second change should be considered an editorial
matter, needed for consistency.
There are various other uses of "NULL" where the intended meaning is
"a null pointer", such as "if the xxx argument is NULL" or "if the
xxx argument is not NULL". However, I don't think it is worth trying
to fix these. (It would not be safe to try and do global changes;
they would have to be examined individually.) It is reasonably clear
that the intended meaning is "if xxx compares (un)equal to NULL",
rather than the literal "if xxx is (not) the NULL macro".
Action:
Change
"The value that is obtained by converting the number 0 into a
pointer; for example, (void *) 0. The C language guarantees that
this value does not match that of any legitimate pointer, so it is
used by many functions that return pointers to indicate an error."
to
"A pointer obtained by converting an integer constant expression
with the value 0, or such an expression cast to type void *, to
a pointer type; for example, (char *)0. The C language guarantees
that a null pointer compares unequal to a pointer to any object or
function, so it is used by many functions that return pointers to
indicate an error."
Globally (in all volumes) change "NULL pointer" to "null pointer".
_____________________________________________________________________________
OBJECTION Enhancement Request Number 4
ebb9:xxxxxxx Bug in XBDd3 aio.h (rdvk# 19)
{ebb.aio} Fri, 3 Aug 2007 22:27:29 +0100 (BST)
_____________________________________________________________________________
Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
Add prior to line 7099:
The header shall define the following types:
off_t, pthread_attr_t, size_t, and ssize_t As described in .
struct timespec As described in .
The tag sigevent shall be declared as naming an incomplete structure
type, the contents of which are described in the header .
Add prior to line 9692:
The header shall define the following types:
pthread_attr_t, size_t, and ssize_t As described in .
struct timespec As described in .
The tag sigevent shall be declared as naming an incomplete structure
type, the contents of which are described in the header .
Replace the start of line 9692:
The header shall define the sigevent structure (as
described in ) and the mq_attr structure,...
with:
The header shall define the mq_attr structure,...
In signal.h Page 312 before l 10806
Add this line with CX shading:
The header shall define the pthread_attr_t type,
as described in .
Replace on line 10811:
(union signal)
with:
(union sigval)
In time.h p 404 l 13913
add this line with CX shading:
The tag sigevent shall be declared as naming an incomplete structure
type, the contents of which are described in the header .
_____________________________________________________________________________
Page: 206 Line: 7089 Section: aio.h
Problem:
The header uses several types without any requirement that
they be declared. Likewise for .
The draft 3 edits in for struct sigevent introduced a
typo. Meanwhile, the use of pthread_attr_t needs a declaration,
although it can be an incomplete type.
also uses uses struct sigevent, but since timer_create
explicitly requires the inclusion of (line 65309; unlike
lio_listio, line 29611, or mq_notify, line 42861), the inclusion of
just should be able to leave out union sigval and
pthread_attr_t by leaving struct sigevent incomplete.
Action:
Add prior to line 7099:
The header shall define the following types:
off_t As described in .
pthread_attr_t As described in , although the type may
be incomplete if is not also included.
size_t As described in .
struct sigevent As described in .
union sigval As described in .
ssize_t As described in .
strict timespec As described in .
Add prior to line 9692:
The header shall define the following types:
pthread_attr_t As described in , although the type may
be incomplete if is not also included.
size_t As described in .
struct sigevent As described in .
union sigval As described in .
ssize_t As described in .
strict timespec As described in .
Replace the start of line 9692:
The header shall define the sigevent structure (as
described in ) and the mq_attr structure,...
with:
The header shall define the mq_attr structure,...
Prior to line 10806 (note that another aardvark also touches this
line, so wording should be consistent between the two if both are
applied), add this line with CX shading:
The header shall provide a declaration of pthread_attr_t,
as described in , although the type may be incomplete if
is not also included.
Replace on line 10811:
(union signal)
with:
(union sigval)
After line 13913 (note that another aardvark also touches this line,
so wording should be consistent between the two if both are applied),
add this line with CX shading:
The header shall provide a declaration of struct sigevent,
as described in , although the type may be incomplete if
is not also included.
_____________________________________________________________________________
EDITORIAL Enhancement Request Number 5
gwc:xxxxxxxxxxxxx Bug in XBDd3 fcntl.h (rdvk# 4)
[gwc fcntl unistd ref] Wed, 4 Jul 2007 17:06:04 +0100
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 224 Line: 7704 Section: fcntl.h
Problem:
The fcntl.h page says SEEK_CUR etc. are defined "as described in
", but the unistd.h page no longer describes them - it
says that defines them "as described in ".
Action:
Change "unistd.h" to "stdio.h".
_____________________________________________________________________________
EDITORIAL Enhancement Request Number 6
mh-austin:xxxxxx Bug in XBDd3 (rdvk# 16)
[mh2007d306] Thu, 16 Aug 2007 07:57:57 -0700
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 224 Line: 7712 Section:
Problem:
fcntl.h() should be .
Action:
Change fcntl.h() to (and italics to bold).
_____________________________________________________________________________
EDITORIAL Enhancement Request Number 7
ebb9:xxxxxxx Bug in XBDd3 inttypes.h (rdvk# 13)
{ebb.examples} Thu, 2 Aug 2007 17:55:05 +0100 (BST)
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 247 Line: 8410 Section: inttypes.h
Problem:
EXAMPLES sections are informative, not normative.
Action:
Add non-normative shade side-bars to these EXAMPLES sections:
lines 8410-8419
lines 11223-11245
_____________________________________________________________________________
OBJECTION Enhancement Request Number 8
ebb9:xxxxxxx Bug in XBDd3 langinfo.h (rdvk# 15)
{ebb.langinfo} Fri, 3 Aug 2007 19:34:14 +0100 (BST)
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 249 Line: 8485 Section: langinfo.h
Problem:
The addition of nl_langinfo_l to langinfo.h, strfmon_l to monetary.h,
strcasecmp_l to strings.h, and strftime_l to time.h, each requires the
definition of locale_t.
Additionally, pid_t is not defined in time.h, required for the CPT
shaded clock_getcpuclockid.
Action:
Add at line 8485:
The locale_t type shall be defined as described in .
Add after line 9660:
locale_t As described in .
Add at 11970:
The locale_t type shall be defined as described in .
Because of shading issues, rewrite the paragraph at line 13913:
The clock_t, size_t, time_t, clockid_t, and timer_t types
shall be defined as described in .
as the following list:
The header shall define the following types:
clock_t As described in .
clockid_t As described in .locale_t As described in .pid_t As described in .
size_t As described in .
time_t As described in .
timer_t As described in .
_____________________________________________________________________________
OBJECTION Enhancement Request Number 9
ebb9:xxxxxxx Bug in XBDd3 locale.h (rdvk# 7)
{ebb.locale} Thu, 2 Aug 2007 17:35:59 +0100 (BST)
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 267 Line: 9247 Section: locale.h
Problem:
Most of the headers specified by C, but with CX/XSI shaded extensions
required by POSIX 200x, warn the reader that a feature test macro
must be used to ensure the POSIX definitions are visible. However,
this was not done for locale.h.
As this text was not edited in draft 3, it should be considered in
light of making the standard internally consistent.
Action:
At line 9247, replace:
Some of the functionality described on this reference page
extends the ISOC standard. Any conflict between the requirements
described here and the ISO C standard is unintentional. This
volume of POSIX.1-200x defers to the ISO C standard.
with:
Some of the functionality described on this reference page
extends the ISO C standard. Applications shall define the appropriate
feature test macro (see XSH Section 2.2, on page 448) to enable the
visibility of these symbols in this header.
_____________________________________________________________________________
OBJECTION Enhancement Request Number 10
ebb9:xxxxxxx Bug in XBDd3 signal.h (rdvk# 20)
{ebb.signal} Fri, 3 Aug 2007 21:13:08 +0100 (BST)
_____________________________________________________________________________
Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
In line 10801
change from
The header shall define the following data types through typedef:
to
The header shall define the following data types:
At line 10801, add the following lines (optionally, consider sorting
the existing lines):
pthread_t As described in .size_t As described in .struct timespec As described in .uid_t As described in .
Delete line 10926:
The size_t type shall be defined as described in
.
_____________________________________________________________________________
Page: 312 Line: 10801 Section: signal.h
Problem:
refers to the following types which need declaration:
uid_t (CX-shaded struct siginfo_t)
pthread_t (CX-shaded pthread_kill)
struct timespec (CX-shaded sigtimedwait)
Note that the only use of struct timespec in is via a
pointer, and that while implementations are allowed to bring in
symbols from , they are not required to do so.
Additionally, the mention of size_t on 10926, resulting from
SD5-XBD-ERN-56, is out of place compared to the mention of other
typedefs copied from other locations, not to mention that it is
XSI-shaded although stack_t is CX-shaded.
Action:
At line 10801, add the following lines (optionally, consider sorting
the existing lines):
pthread_t As described in .size_t As described in .struct timespec As described in , although the type
may be incomplete if is not also included.uid_t As described in .
Delete line 10926:
The size_t type shall be defined as described in
.
_____________________________________________________________________________
OBJECTION Enhancement Request Number 11
gwc:xxxxxxxxxxxxx Bug in XBDd3 signal.h (rdvk# 12)
[gwc sigev sigval] Tue, 24 Jul 2007 15:34:08 +0100
_____________________________________________________________________________
Accept_____ Accept as marked below_____ Duplicate_of_4 Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 312 Line: 10811 Section: signal.h
Problem:
"union signal" should be "union sigval"
Action:
Change "signal" to "sigval".
_____________________________________________________________________________
EDITORIAL Enhancement Request Number 12
gwc:xxxxxxxxxxxxx Bug in XBDd3 signal.h (rdvk# 5)
[gwc signal shading] Wed, 4 Jul 2007 17:09:51 +0100
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 314 Line: 10900-10906 Section: signal.h
Problem:
Missing CX shading.
Action:
Add CX shading to SA_RESETHAND, ..., SA_NODEFER.
_____________________________________________________________________________
OBJECTION Enhancement Request Number 13
ebb9:xxxxxxx Bug in XBDd3 spawn.h (rdvk# 17)
{ebb.spawn} Fri, 3 Aug 2007 23:30:18 +0100 (BST)
_____________________________________________________________________________
Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
sched.h p305
At line 10596, add:
The header shall define the following types:
pid_t As described in .time_t As described in .
struct timespec As described in .
spawn.h
At line 11103, add:
The header shall define the following types:
mode_t As described in .
pid_t As described in .
sigset_t As described in .
The tag sched_param shall be declared as naming an incomplete structure
type, the contents of which are described in the header .
Also ensure that does not occur in a may make visible
phrase in the headers as globally permitted already.
_____________________________________________________________________________
Page: 320 Line: 11103 Section: spawn.h
Problem:
The header uses several types without declarations. In
the case of PS shading, this includes sched_param; which in turn
points out issues in . Note that in , a complete
struct timespec is required by SS and TSP shading, while an incomplete
type will satisfy PS and TPS shading; the proposal merely goes with
the simpler approach of always requiring struct timespec, while only
requiring time_t where a complete timespec is needed.
Action:
At line 10596, add:
The header shall define the following types:
pid_t As described in .time_t As described in .
struct timespec As described in .
At line 11103, add:
The header shall define the following types:
mode_t As described in .
pid_t As described in .
struct sched_param As described in , although the
type may be incomplete if is not also included.
sigset_t As described in .
_____________________________________________________________________________
OBJECTION Enhancement Request Number 14
ebb9:xxxxxxx Bug in XBDd3 stdio.h (rdvk# 11)
{ebb.stdio} Thu, 2 Aug 2007 16:39:52 +0100 (BST)
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 335 Line: 11629 Section: stdio.h
Problem:
The description of stdio.h was edited in draft 3 to mention that, as
a C extension, the type ssize_t is available (required by the
declaration of CX getline). However, off_t was overlooked (required
by the declaration of CX fseeko).
Action:
At line 11628, add, with CX shading:
off_t As described in .
Optionally, consider sorting the list, moving va_list after ssize_t.
_____________________________________________________________________________
EDITORIAL Enhancement Request Number 15
nick:xxxxxxxxxx Bug in XBDd3 stdlib.h (rdvk# 8)
{nms-stdlib-seealso} Wed, 25 Jul 2007 21:11:53 +0100 (BST)
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
Action Nick
_____________________________________________________________________________
Page: 340 Line: 11854 Section: stdlib.h
Problem:
The see also section in stdlib.h has incorrect hot-links (off by one).
Clicking on, for example, malloc, takes you to ldiv. This appears to be
true for all the links from labs() onwards. The labs() link does not
work.
This may be caused by the change bars, but the hot-link rectangles are
in the wrong place (click and hold the mouse button down, then drag it
away before releasing the button). The "build" script repeatedly
formats the document to locate where to place thee rectangles, and
somehow the text appears to be moving from pass to pass.
I noticed this on another page too, but don't remember which one.
However, it is a toolchain issue, and once fixed for this page should
correct other places where this error occurs.
Action:
Send me the source and sccs files for this page :-)
_____________________________________________________________________________
OBJECTION Enhancement Request Number 16
ebb9:xxxxxxx Bug in XBDd3 string.h (rdvk# 10)
{ebb.string} Thu, 2 Aug 2007 17:47:23 +0100 (BST)
_____________________________________________________________________________
Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
After line 11893, add, with CX shading:
The header shall define the locale_t type
as described in .
After wchar.h p435 line 15200, add, with CX shading:
locale_t As described in .
At wctype.h line 15383, replace:
The header...
with:
The header...
Sort lines 15189 - 15200.
_____________________________________________________________________________
Page: 342 Line: 11893 Section: string.h
Problem:
The addition of strcoll_l and other functions to string.h requires
the definition of locale_t with CX shading.
Likewise for wchar.h and wctype.h, along with a typo correction.
Action:
After line 11893, add, with CX shading:
The header shall provide a definition for a type locale_t
as defined in .
After line 15200, add, with CX shading:
locale_t As described in .
At line 15383, replace:
The header...
with:
The header...
Optionally, consider sorting lines 15189 - 15200.
_____________________________________________________________________________
EDITORIAL Enhancement Request Number 17
ebb9:xxxxxxx Bug in XBDd3 sys/socket.h (rdvk# 21)
{ebb.socket} Fri, 3 Aug 2007 22:49:37 +0100 (BST)
_____________________________________________________________________________
Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
At line 12695, replace:
The ssize_t type shall be defined...
with:
The size_t and ssize_t types shall be defined...
_____________________________________________________________________________
Page: 368 Line: 12695 Section: sys/socket.h
Problem:
The header requires ssize_t, but not size_t.
Action:
At line 12695, replace:
The ssize_t type shall be defined...
with:
The ssize_t and size_t types shall be defined...
_____________________________________________________________________________
COMMENT Enhancement Request Number 18
gwc:xxxxxxxxxxxxx Bug in XBDd3 sys/un.h (rdvk# 9)
[gwc sys_un appusage] Tue, 24 Jul 2007 15:36:58 +0100
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 385 Line: 13302 Section: sys/un.h
Problem:
The APPLICATION USAGE section of the sys/un.h page needs to be
updated for consistency with the change of _POSIX_PATH_MAX from
255 to 256.
It should also say "bytes" not "characters".
Action:
Change
"{_POSIX_PATH_MAX} characters (255)"
to
"{_POSIX_PATH_MAX} bytes (256)"
_____________________________________________________________________________
OBJECTION Enhancement Request Number 19
ebb9:xxxxxxx Bug in XBDd3 termios.h (rdvk# 18)
{ebb.termios} Fri, 3 Aug 2007 22:56:35 +0100 (BST)
_____________________________________________________________________________
Accept_X___ Accept as marked below_____ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
_____________________________________________________________________________
Page: 397 Line: 13666 Section: termios.h
Problem:
The header uses pid_t without declaration.
Action:
Prior to line 13666, add the line:
The header shall define the pid_t type, as described in
.
_____________________________________________________________________________
OBJECTION Enhancement Request Number 20
ebb9:xxxxxxx Bug in XBDd3 getdate_err (rdvk# 14)
{ebb.getdate_err} Sat, 4 Aug 2007 00:04:11 +0100 (BST)
_____________________________________________________________________________
Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
Fix errno.h
Change on l7557
The header shall provide a declaration for errno.
to
The header shall provide a declaration or definition for errno.
Replace line 13915:
The header shall provide a declaration for getdate_err.
with the following, XSI shaded:
The header shall provide a declaration or definition for
getdate_err. The symbol getdate_err shall expand to an expression of type
int. It is unspecified whether getdate_err is a macro or an identifier
declared with external linkage, and whether or not it is a modifiable
lvalue. If a macro definition is suppressed in order to access an actual
object, or a program defines an identifier with the name getdate_err,
the behavior is undefined.
Replace line 32873:
The external variable or macro getdate_err is used by getdate( ) to
return error values.
with:
The external variable or macro getdate_err, which has type int, is
used by getdate( ) to return error values. It is unspecified whether
getdate_err is a macro or an identifier declared with external linkage,
and whether or not it is a modifiable lvalue. If a macro definition is
suppressed in order to access an actual object, or a program defines
an identifier with the name getdate_err, the behavior is undefined.
_____________________________________________________________________________
Page: 404 Line: 13915 Section: getdate_err
Problem:
There are no requirements on getdate_err, other than the implied
requirements in ERRORS of getdate() that it can have 8 distinct
values. The description should be made consistent with the edits
made in draft 3 to errno (line 7557), another example of a global
variable/macro that can hold error status.
Action:
Replace line 13915:
The header shall provide a declaration for getdate_err.
with the following, XSI shaded:
The header shall provide a declaration for getdate_err. The
symbol getdate_err shall expand to an expression of type int. It is
unspecified whether getdate_err is a macro or an identifier declared
with external linkage, or whether it is a modifiable lvalue. If a
macro definition is suppressed in order to access an actual object,
or a program defines an identifier with the name getdate_err, the
behavior is undefined.
Replace line 32873:
The external variable or macro getdate_err is used by getdate( ) to
return error values.
with:
The external variable or macro getdate_err, which has type int, is
used by getdate( ) to return error values. It is unspecified whether
getdate_err is a macro or an identifier declared with external
linkage, or whether it is even a modifiable lvalue. If a macro
definition is suppressed in order to access an actual object, or a
program defines an identifier with the name getdate_err, the behavior
is undefined.
_____________________________________________________________________________
EDITORIAL Enhancement Request Number 21
ebb9:xxxxxxx Bug in XBDd3 wchar.h (rdvk# 2)
{ebb.wchar.h} Thu, 19 Jul 2007 16:47:09 +0100 (BST)
_____________________________________________________________________________
Accept_____ Accept as marked below_X___ Duplicate_____ Reject_____
Rationale for rejected or partial changes:
as below but note open_wmemstream is a ptr so will go to the real page
_____________________________________________________________________________
Page: 438 Line: 15339 Section: wchar.h
Problem:
Cross-volume links for open_wmemstream are missing.
Action:
XBD wchar.h:
In the list at line 15339, add a link to open_wmemstream().
XSH open_wmemstream:
In the list at line 44839, add a link to .