* libc/stdlib/wctomb_r.c (_wctomb_r): When checking single-byte
charset, cast wchar to size_t in case wchar_t is signed.
* libc/stdlib/wctomb.c (wctomb): Add similar single-byte check.
* libc/stdlib/wctomb_r.c (_wctomb_r): Return EILSEQ in case of an
invalid wchar. Return -1 if wchar doesn't fit into singlebyte
value in case of using a singlebyte charset.
sequences since they are invalid in the Unicode standard.
Handle surrogate pairs in case of wchar_t == UTF-16.
* wctomb_r.c (_wctomb_r): Don't convert invalid Unicode wchar_t
values beyond 0x10ffff into UTF-8 chars. Handle surrogate pairs in
case of wchar_t == UTF-16.
* libc/unix/ttyname.c: Remove ttyname_r() (to a new file to avoid
coupling ttyname_r() and ttyname() due to the latter's large buffer).
* libc/unix/ttyname_r.c: New file to hold ttyname_r(), previously in
ttyname.c.
* libc/unix/ttyname.h: New file (common size definition for the 2
ttyname*c files that are now split).
* libc/unix/Makefile.am (ELIX_2_SOURCES): Add ttyname_r.c.
* libc/unix/Makefile.in: Regenerate.
(NetLocalGroupGetMembers): Remove.
(NetUserGetLocalGroups): Add.
* sec_auth.cc (is_group_member): Remove function.
(get_user_local_groups): Get user as string instead of as SID.
Call NetUserGetLocalGroups instead of NetLocalGroupEnum. Drop call
to is_group_member.
(get_server_groups): Call get_user_local_groups with user name instead
of user SID.
* libc/stdio/open_memstream.c (internal_open_memstream_r): Fix max
buffer size to be in wchar_t units if wide == 1 is passed in. In
this case, also initialize the first character of the buffer to be
wide char null.
(_open_wmemstream_r): Cast buf to be (char **) to avoid warning.
* libc/stdlib/mbtowc_r.c (_mbtowc_r): Change all occurences of
incrementing the size_t value n to first check that n is not already
size_t -1. Fix some compiler warnings.
* libc/stdlib/wcstod.c: Add includes for <wctype.h> and <math.h>.
(struct memstream): Add wide element.
Change saved to a union to take char and wchar_t values.
(memwriter): Accommodate wide-oriented oeprations.
(memseeker): Ditto.
(memseeker64): Ditto.
(memcloser): Ditto.
(internal_open_memstream_r): New static function. Take functionality
from former _open_memstream_r and handle additional "wide" parameter.
(_open_memstream_r): Just call internal_open_memstream_r with wide==-1
from here.
(_open_wmemstream_r): New function.
(open_wmemstream): Ditto.
* libc/include/wchar.h (open_wmemstream): Declare.
(_open_wmemstream_r): Declare.
* posix.sgml: Move wcstoimax and wcstoumax to SUSv4 section.
* include/inttypes.h: Declare wcstoimax and wcstoumax.
* include/cygwin/version.h: Bump API minor number.
Move Solaris calls now in SUSv4 to SUSv4 section. Rename unimplemented
section to refer to SUSv4. Add note about missing interfaces.
Move wcstod and wcstof from unimplemented to SUSv4 section.
code to allow to read disk and CD/DVD devices in full length. Explain
why.
(fhandler_dev_floppy::raw_read): Add current position to debug output.
* include/sys/sched.h: New stub file to override newlib file with
clashing definitions.