* sysdeps/mach/libc-lock.h: New file.
* sysdeps/unix/readdir.c: Do locking.
* sysdeps/unix/seekdir.c: Likewise.
* sysdeps/unix/rewinddir.c: Likewise.
* sysdeps/unix/closedir.c: Likewise.
* sysdeps/unix/bsd/telldir.c: Likewise.
* sysdeps/mach/hurd/seekdir.c: Likewise.
* sysdeps/mach/hurd/readdir.c: Likewise.
* sysdeps/mach/hurd/closedir.c: Likewise.
* sysdeps/mach/hurd/opendir.c: Initialize the lock.
* sysdeps/unix/opendir.c: Likewise.
* sysdeps/mach/hurd/dirstream.h: Include <libc-lock.h>.
(struct __dirstream): Add lock member using __libc_lock_define.
* sysdeps/unix/dirstream.h: Likewise.
* sysdeps/stub/libc-lock.h (__libc_lock_fini): New macro.
* stdlib/mbstowcs.c: Pass address of pointer to mbsrtowcs.
* stdlib/wcstombs.c: Use wcsrtombs instead of mbsrtowcs.
Thu Jul 4 01:34:04 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/stringtrans.c: Fix typo in copyright.
* stdio-common/printf-prs.c: Add casts to prevent
signed<->unsigned warnings.
* stdio-common/printf-parse.h: Initialize state variable before
calling mbrlen.
* stdio-common/printf-prs.c: Don't initialize state variable here.
* stdio-common/vfprintf.c: Don't initialize state variable.
(vfprintf): While determining length of multibyte string don't
try to be clever in determining characters to use for first
call.
Add real implementation of multibyte<->wide char conversion
functions. The functions always convert between the fixed wide
char format (ISO 10646 in UCS4) and the UTF8 representation of
this character set. Conversion between the currently used
8bit character set and ISO 10646 will not take place. This is
what iconv() is for.
* wcsmbs/wchar.h (mbstate_t): Define as structure to replace
dummy definition.
Add optimized version of `mbrlen' function.
* wcsmbs/btowc.c (btowc): Restrict range of legal characters
to 0...0x7f.
* wcsmbs/wctob.c (wctob): Restrict range of legal characters
to 0..0x7f.
* wcsmbs/mbrlen.c: Make mbrlen a weak alias of __mbrlen.
This is needed in the wchar.h header.
* wcsmbs/mbrtowc.c: Replace dummy implementation. Convert UTF8
encoded character to UCS4.
* wcsmbs/mbsinit.c: Replace dummy implementation. Test COUNT
element of `mbstate_t' for initial state.
* wcsmbs/mbsrtowcs.c: Replace dummy implementation. Convert UTF8
encoded string to UCS4 string.
* wcsmbs/wcrtomb.c: Replace dummy implementation. Convert UCS4
character to UTF8 encoded form.
* wcsmbs/wcsrtombs.c: Replace dummy implementation. Convert UCS4
encoded string to UTF8 encoded form.
* stdio/vfscanf.c: Grok positional parameter specs (i.e. %3$d
means %d from 3rd arg).
* sysdeps/mach/hurd/closedir.c: Include hurd/fd.h.
* stdlib/strtol.c: If !GROUP, set END to null. In loop, test only
END, not GROUP.
* sysdeps/mach/hurd/euidaccess.c: New file.
* sysdeps/stub/euidaccess.c: New file.
* posix/unistd.h [__USE_GNU] (euidaccess): Declare it.
* dirent/Makefile (routines): Add dirfd.
* sysdeps/stub/dirfd.c: New file.
* sysdeps/unix/dirfd.c: New file.
* sysdeps/unix/dirstream.h (_DIR_dirfd): New macro.
* dirent/dirent.h (dirfd): Declare new function. Define as macro
_DIR_dirfd if that is defined.
* sysdeps/mach/hurd/dirstream.h (DIR): Replace `__port' member
with `void *__fd'.
* sysdeps/mach/hurd/opendir.c: Use DIRP->__fd instead of DIRP->__port.
Open the file with `open'; set FD_CLOEXEC on the fd.
* sysdeps/mach/hurd/closedir.c: Likewise.
* sysdeps/mach/hurd/readdir.c: Likewise.
* sysdeps/mach/hurd/dirfd.c: New file.
* posix/Makefile (glob/configure): Do cvs commit if there is a CVS
directory.
(glob/ChangeLog): Likewise.
* locale/locale.h (LC_*): Use small integers instead of bit masks.