glibc/sysdeps/unix/closedir.c

51 lines
1.3 KiB
C
Raw Normal View History

Mon Feb 26 10:22:30 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/unix/dirstream.h: Rewritten. * sysdeps/unix/readdir.c: Rewritten. * sysdeps/unix/telldir.c: Rewritten. * sysdeps/unix/closedir.c: Use <...> instead of "..." for dirstream.h. Remove __ from DIR struct member names. * sysdeps/unix/dirfd.c: Likewise. * sysdeps/unix/seekdir.c: Likewise. * sysdeps/unix/rewinddir.c: Likewise. * sysdeps/unix/opendir.c: Likewise. Don't allocate extra space after DIR structure. * sysdeps/stub/direct.h: File removed. * sysdeps/unix/bsd/bsd4.4/direct.h: File removed. * sysdeps/unix/bsd/direct.h: File removed. * sysdeps/unix/common/direct.h: File removed. * sysdeps/unix/sysv/irix4/direct.h: File removed. * sysdeps/unix/sysv/isc3/direct.h: File removed. * sysdeps/unix/sysv/sco3.2.4/direct.h: File removed. * sysdeps/unix/sysv/sysv4/solaris2/direct.h: File removed. * sysdeps/unix/common/direntry.h: New file. * sysdeps/unix/bsd/direntry.h: New file. * sysdeps/unix/bsd/bsd4.4/direntry.h: New file. * sysdeps/unix/sysv/direntry.h: New file. * sysdeps/stub/direntry.h: New file. * dirent/dirent.h (struct dirent): Type removed. Include <direntry.h> to define it. (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New macros. * dirent/Makefile (headers): Add direntry.h. (distribute): Remove direct.h. * sysdeps/posix/getcwd.c: Use new macros instead of d_namlen. * dirent/scandir.c: Likewise. * io/fts.c (fts_build): Likewise. * io/ftw.c (ftw_dir): Likewise. * sysdeps/posix/ttyname.c: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: New file. * sysdeps/mach/hurd/profil.c (MAX_PC_SAMPLES): New macro. (collector_timeout): New static variable. (update_waiter): Actually call __task_enable_pc_sampling. Set collector_timeout based on the `tick' count returned. (profile_waiter): Use MAX_PC_SAMPLES. Set nsamples before RPC. Use collector_timeout in __mach_msg call. * gmon/Makefile (noprof): New variable containing mcount. Append profil unless it is in $(unix-syscalls). (mcount.po): Use $(noprof) for list of targets in this rule. * libc-symbols.h: Define _LIBC before #include <config.h>. Sun Feb 25 12:29:23 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * config.h.in [_LIBC] (HAVE_STRERROR): Define it. Protect 2nd page of #undef's for generator programs with #ifndef _LIBC. * time/zic.c, time/zdump.c, time/private.h: Updated from ADO's latest. Fri Feb 9 12:40:19 1996 Brendan Kehoe <brendan@lisa.cygnus.com> * libio/cleanup.c (_IO_cleanup_registration_needed) [!_G_HAVE_ATEXIT]: Init to NULL. * libio/filedoalloc.c (_IO_cleanup_registration_needed): Remove decl. Thu Feb 8 08:12:50 1996 Brendan Kehoe <brendan@cygnus.com> * libio/filedoalloc.c (_IO_cleanup_registration_needed): Revert previous change, since cleanup.c only defines it if _G_HAVE_ATEXIT. Wed Feb 7 15:10:17 1996 Brendan Kehoe <brendan@lisa.cygnus.com> * libio/filedoalloc.c (_IO_cleanup_registration_needed): Declare as extern. Sat Feb 24 11:34:13 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/i386/memcmp.S: Fix argument %esp offsets. * time/sys/time.h (timeradd, timersub): New macros; BSD has these.
1996-02-27 01:55:03 +01:00
/* Copyright (C) 1991, 1993, 1995, 1996 Free Software Foundation, Inc.
1995-02-18 02:27:10 +01:00
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <errno.h>
#include <stddef.h>
#include <stdlib.h>
#include <dirent.h>
#include <unistd.h>
Mon Feb 26 10:22:30 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/unix/dirstream.h: Rewritten. * sysdeps/unix/readdir.c: Rewritten. * sysdeps/unix/telldir.c: Rewritten. * sysdeps/unix/closedir.c: Use <...> instead of "..." for dirstream.h. Remove __ from DIR struct member names. * sysdeps/unix/dirfd.c: Likewise. * sysdeps/unix/seekdir.c: Likewise. * sysdeps/unix/rewinddir.c: Likewise. * sysdeps/unix/opendir.c: Likewise. Don't allocate extra space after DIR structure. * sysdeps/stub/direct.h: File removed. * sysdeps/unix/bsd/bsd4.4/direct.h: File removed. * sysdeps/unix/bsd/direct.h: File removed. * sysdeps/unix/common/direct.h: File removed. * sysdeps/unix/sysv/irix4/direct.h: File removed. * sysdeps/unix/sysv/isc3/direct.h: File removed. * sysdeps/unix/sysv/sco3.2.4/direct.h: File removed. * sysdeps/unix/sysv/sysv4/solaris2/direct.h: File removed. * sysdeps/unix/common/direntry.h: New file. * sysdeps/unix/bsd/direntry.h: New file. * sysdeps/unix/bsd/bsd4.4/direntry.h: New file. * sysdeps/unix/sysv/direntry.h: New file. * sysdeps/stub/direntry.h: New file. * dirent/dirent.h (struct dirent): Type removed. Include <direntry.h> to define it. (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New macros. * dirent/Makefile (headers): Add direntry.h. (distribute): Remove direct.h. * sysdeps/posix/getcwd.c: Use new macros instead of d_namlen. * dirent/scandir.c: Likewise. * io/fts.c (fts_build): Likewise. * io/ftw.c (ftw_dir): Likewise. * sysdeps/posix/ttyname.c: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: New file. * sysdeps/mach/hurd/profil.c (MAX_PC_SAMPLES): New macro. (collector_timeout): New static variable. (update_waiter): Actually call __task_enable_pc_sampling. Set collector_timeout based on the `tick' count returned. (profile_waiter): Use MAX_PC_SAMPLES. Set nsamples before RPC. Use collector_timeout in __mach_msg call. * gmon/Makefile (noprof): New variable containing mcount. Append profil unless it is in $(unix-syscalls). (mcount.po): Use $(noprof) for list of targets in this rule. * libc-symbols.h: Define _LIBC before #include <config.h>. Sun Feb 25 12:29:23 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * config.h.in [_LIBC] (HAVE_STRERROR): Define it. Protect 2nd page of #undef's for generator programs with #ifndef _LIBC. * time/zic.c, time/zdump.c, time/private.h: Updated from ADO's latest. Fri Feb 9 12:40:19 1996 Brendan Kehoe <brendan@lisa.cygnus.com> * libio/cleanup.c (_IO_cleanup_registration_needed) [!_G_HAVE_ATEXIT]: Init to NULL. * libio/filedoalloc.c (_IO_cleanup_registration_needed): Remove decl. Thu Feb 8 08:12:50 1996 Brendan Kehoe <brendan@cygnus.com> * libio/filedoalloc.c (_IO_cleanup_registration_needed): Revert previous change, since cleanup.c only defines it if _G_HAVE_ATEXIT. Wed Feb 7 15:10:17 1996 Brendan Kehoe <brendan@lisa.cygnus.com> * libio/filedoalloc.c (_IO_cleanup_registration_needed): Declare as extern. Sat Feb 24 11:34:13 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/i386/memcmp.S: Fix argument %esp offsets. * time/sys/time.h (timeradd, timersub): New macros; BSD has these.
1996-02-27 01:55:03 +01:00
#include <dirstream.h>
1995-02-18 02:27:10 +01:00
/* Close the directory stream DIRP.
Return 0 if successful, -1 if not. */
int
Update. Thu Aug 8 01:41:43 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile: Undo change of Tue Aug 6 14:27:11 1996. * elf/dl-support: Add definition of `_dl_sysdep_read_whole_file'. Thu Aug 8 01:15:59 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu_control.h (_FPU_DEFAULT, _FPU_IEEE): Set to 0x137f to allow long double operations. Sun Aug 4 13:12:05 1996 Richard Henderson <rth@tamu.edu> Bug Fixes: * nss/nsswitch.c (_res): Remove redundant variable definition. The real one is in resolve/res_init.c, and having both prevents using -fno-common when building the shared library. * sunrpc/rpc_prot.c (_null_auth): Same. Original is in rpc_common.c. * sysdeps/unix/sysv/linux/alpha/brk.S: When PIC, define __curbrk as a .bss object not a COMMON symbol. * sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S: Must load $gp before referencing __sigsetjmp symbol. Retain LITUSE for same. Optimizations: * sysdeps/alpha/strlen.S: Rearrange first-word setup and thense the main loop for better dual-issue on EV5. Rearrange binary search to pipeline better and trim one instruction. Cosmetic Changes: * time/localtime.c (localtime_r): Move lock declaration back next to the comment where it was before the 960724 change. * INSTALL, manual/maint.texi: alpha-gnu-linux -> alpha-ANYTHING-linux. The second word is supposed to be the hardware manufacturer. * sysdeps/alpha/_mcount.S: Retain LITUSE for __mcount. * sysdeps/alpha/setjmp.S: Retain LITUSE for __sigsetjmp_aux. * sysdeps/alpha/divrem.h: More local labels, retain LITUSE for _mcount. * sysdeps/alpha/alphaev5/add_n.S, sysdeps/alpha/alphaev5/lshift.S, sysdeps/alpha/alphaev5/rshift.S, sysdeps/alpha/alphaev5/sub_n.S: Same cleanups as with EV4 GMP stuff. Tue Jul 25 03:30:56 1996 Richard Henderson <rth@tamu.edu> * sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_routines): Add clone. * sysdeps/unix/sysv/linux/alpha/clone.S: New file. * sysdeps/unix/sysv/linux/i386/clone.S: New file. Sun Aug 4 00:12:41 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/gnu/types.h: Declare __fd_mask as `unsigned long'. * misc/sys/select.h: Declare fd_mask as alias of __fd_mask. Sat Aug 3 16:20:02 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for Mikasa. * socket/sys/socket.h (send, __send, sendto): Declare buffer pointer as __const. * string/tester.c (main): Test stpncpy. * sysdeps/generic/stpncpy.c (__stpncpy): Fix so it works without segfault when called with an N that is not a multiple of four and src[N-1]=='\0'. * misc/syslog.c (LogType): New variable. (openlog): If connect() with SOCK_DGRAM fails with EPROTOTYPE, try again with SOCK_STREAM (the Linux syslogd uses a socket of the latter type). (vsyslog): When LogType==SOCK_STREAM, also send ASCII NUL terminator as a record-delimiter. If __send(LogFile) fails, call closelog() so logfile gets re-opened next time. Wed Aug 7 15:15:14 1996 Ulrich Drepper <drepper@cygnus.com> * elf/dl-open (_dl_open): Add cast to avoid warning. * manual/memory.texi: Improve some examples to give readers better advice: Use `stpcpy' instead of `strcat' if possible. * manual/string.texi: Document `strtok_r' and `strtok'. * sunrpc/Makefile: Move `+gccwarn' definition before inclusion of Makeconfig. [$(cross-compiling)=no]: Change test before making librpcsvc to this from $(cross-compile). Reported by Andreas Schwab. Tue Aug 6 14:27:11 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (routines): Move dl-sysdep to here... (rtld-routines): ...from here. This should make static linking work again. * locale/setlocale.c: Add local variable `lock' and add code to `setlocale' to avoid simultaneous changing of global data. * catgets/catgets.c (catopen): Use `__strdup' instead of `strdup'. * catgets/open_catalog (__open_catalog): Use `__stpcpy', `__open', `__fstat', `__read', `__mmap', `__munmap' and `__close' instead of unprotected names.
1996-08-08 01:50:59 +02:00
__closedir (DIR *dirp)
1995-02-18 02:27:10 +01:00
{
int fd;
if (dirp == NULL)
{
errno = EINVAL;
return -1;
}
Tue Jul 9 09:37:55 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * 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.
1996-07-09 16:49:13 +02:00
__libc_lock_lock (dirp->lock);
1995-02-18 02:27:10 +01:00
Tue Jul 9 09:37:55 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * 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.
1996-07-09 16:49:13 +02:00
fd = dirp->fd;
Update. Thu Aug 8 01:41:43 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile: Undo change of Tue Aug 6 14:27:11 1996. * elf/dl-support: Add definition of `_dl_sysdep_read_whole_file'. Thu Aug 8 01:15:59 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu_control.h (_FPU_DEFAULT, _FPU_IEEE): Set to 0x137f to allow long double operations. Sun Aug 4 13:12:05 1996 Richard Henderson <rth@tamu.edu> Bug Fixes: * nss/nsswitch.c (_res): Remove redundant variable definition. The real one is in resolve/res_init.c, and having both prevents using -fno-common when building the shared library. * sunrpc/rpc_prot.c (_null_auth): Same. Original is in rpc_common.c. * sysdeps/unix/sysv/linux/alpha/brk.S: When PIC, define __curbrk as a .bss object not a COMMON symbol. * sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S: Must load $gp before referencing __sigsetjmp symbol. Retain LITUSE for same. Optimizations: * sysdeps/alpha/strlen.S: Rearrange first-word setup and thense the main loop for better dual-issue on EV5. Rearrange binary search to pipeline better and trim one instruction. Cosmetic Changes: * time/localtime.c (localtime_r): Move lock declaration back next to the comment where it was before the 960724 change. * INSTALL, manual/maint.texi: alpha-gnu-linux -> alpha-ANYTHING-linux. The second word is supposed to be the hardware manufacturer. * sysdeps/alpha/_mcount.S: Retain LITUSE for __mcount. * sysdeps/alpha/setjmp.S: Retain LITUSE for __sigsetjmp_aux. * sysdeps/alpha/divrem.h: More local labels, retain LITUSE for _mcount. * sysdeps/alpha/alphaev5/add_n.S, sysdeps/alpha/alphaev5/lshift.S, sysdeps/alpha/alphaev5/rshift.S, sysdeps/alpha/alphaev5/sub_n.S: Same cleanups as with EV4 GMP stuff. Tue Jul 25 03:30:56 1996 Richard Henderson <rth@tamu.edu> * sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_routines): Add clone. * sysdeps/unix/sysv/linux/alpha/clone.S: New file. * sysdeps/unix/sysv/linux/i386/clone.S: New file. Sun Aug 4 00:12:41 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/gnu/types.h: Declare __fd_mask as `unsigned long'. * misc/sys/select.h: Declare fd_mask as alias of __fd_mask. Sat Aug 3 16:20:02 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for Mikasa. * socket/sys/socket.h (send, __send, sendto): Declare buffer pointer as __const. * string/tester.c (main): Test stpncpy. * sysdeps/generic/stpncpy.c (__stpncpy): Fix so it works without segfault when called with an N that is not a multiple of four and src[N-1]=='\0'. * misc/syslog.c (LogType): New variable. (openlog): If connect() with SOCK_DGRAM fails with EPROTOTYPE, try again with SOCK_STREAM (the Linux syslogd uses a socket of the latter type). (vsyslog): When LogType==SOCK_STREAM, also send ASCII NUL terminator as a record-delimiter. If __send(LogFile) fails, call closelog() so logfile gets re-opened next time. Wed Aug 7 15:15:14 1996 Ulrich Drepper <drepper@cygnus.com> * elf/dl-open (_dl_open): Add cast to avoid warning. * manual/memory.texi: Improve some examples to give readers better advice: Use `stpcpy' instead of `strcat' if possible. * manual/string.texi: Document `strtok_r' and `strtok'. * sunrpc/Makefile: Move `+gccwarn' definition before inclusion of Makeconfig. [$(cross-compiling)=no]: Change test before making librpcsvc to this from $(cross-compile). Reported by Andreas Schwab. Tue Aug 6 14:27:11 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (routines): Move dl-sysdep to here... (rtld-routines): ...from here. This should make static linking work again. * locale/setlocale.c: Add local variable `lock' and add code to `setlocale' to avoid simultaneous changing of global data. * catgets/catgets.c (catopen): Use `__strdup' instead of `strdup'. * catgets/open_catalog (__open_catalog): Use `__stpcpy', `__open', `__fstat', `__read', `__mmap', `__munmap' and `__close' instead of unprotected names.
1996-08-08 01:50:59 +02:00
free ((void *) dirp->data);
Tue Jul 9 09:37:55 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * 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.
1996-07-09 16:49:13 +02:00
__libc_lock_fini (dirp->lock);
Update. Thu Aug 8 01:41:43 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile: Undo change of Tue Aug 6 14:27:11 1996. * elf/dl-support: Add definition of `_dl_sysdep_read_whole_file'. Thu Aug 8 01:15:59 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu_control.h (_FPU_DEFAULT, _FPU_IEEE): Set to 0x137f to allow long double operations. Sun Aug 4 13:12:05 1996 Richard Henderson <rth@tamu.edu> Bug Fixes: * nss/nsswitch.c (_res): Remove redundant variable definition. The real one is in resolve/res_init.c, and having both prevents using -fno-common when building the shared library. * sunrpc/rpc_prot.c (_null_auth): Same. Original is in rpc_common.c. * sysdeps/unix/sysv/linux/alpha/brk.S: When PIC, define __curbrk as a .bss object not a COMMON symbol. * sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S: Must load $gp before referencing __sigsetjmp symbol. Retain LITUSE for same. Optimizations: * sysdeps/alpha/strlen.S: Rearrange first-word setup and thense the main loop for better dual-issue on EV5. Rearrange binary search to pipeline better and trim one instruction. Cosmetic Changes: * time/localtime.c (localtime_r): Move lock declaration back next to the comment where it was before the 960724 change. * INSTALL, manual/maint.texi: alpha-gnu-linux -> alpha-ANYTHING-linux. The second word is supposed to be the hardware manufacturer. * sysdeps/alpha/_mcount.S: Retain LITUSE for __mcount. * sysdeps/alpha/setjmp.S: Retain LITUSE for __sigsetjmp_aux. * sysdeps/alpha/divrem.h: More local labels, retain LITUSE for _mcount. * sysdeps/alpha/alphaev5/add_n.S, sysdeps/alpha/alphaev5/lshift.S, sysdeps/alpha/alphaev5/rshift.S, sysdeps/alpha/alphaev5/sub_n.S: Same cleanups as with EV4 GMP stuff. Tue Jul 25 03:30:56 1996 Richard Henderson <rth@tamu.edu> * sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_routines): Add clone. * sysdeps/unix/sysv/linux/alpha/clone.S: New file. * sysdeps/unix/sysv/linux/i386/clone.S: New file. Sun Aug 4 00:12:41 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/gnu/types.h: Declare __fd_mask as `unsigned long'. * misc/sys/select.h: Declare fd_mask as alias of __fd_mask. Sat Aug 3 16:20:02 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for Mikasa. * socket/sys/socket.h (send, __send, sendto): Declare buffer pointer as __const. * string/tester.c (main): Test stpncpy. * sysdeps/generic/stpncpy.c (__stpncpy): Fix so it works without segfault when called with an N that is not a multiple of four and src[N-1]=='\0'. * misc/syslog.c (LogType): New variable. (openlog): If connect() with SOCK_DGRAM fails with EPROTOTYPE, try again with SOCK_STREAM (the Linux syslogd uses a socket of the latter type). (vsyslog): When LogType==SOCK_STREAM, also send ASCII NUL terminator as a record-delimiter. If __send(LogFile) fails, call closelog() so logfile gets re-opened next time. Wed Aug 7 15:15:14 1996 Ulrich Drepper <drepper@cygnus.com> * elf/dl-open (_dl_open): Add cast to avoid warning. * manual/memory.texi: Improve some examples to give readers better advice: Use `stpcpy' instead of `strcat' if possible. * manual/string.texi: Document `strtok_r' and `strtok'. * sunrpc/Makefile: Move `+gccwarn' definition before inclusion of Makeconfig. [$(cross-compiling)=no]: Change test before making librpcsvc to this from $(cross-compile). Reported by Andreas Schwab. Tue Aug 6 14:27:11 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (routines): Move dl-sysdep to here... (rtld-routines): ...from here. This should make static linking work again. * locale/setlocale.c: Add local variable `lock' and add code to `setlocale' to avoid simultaneous changing of global data. * catgets/catgets.c (catopen): Use `__strdup' instead of `strdup'. * catgets/open_catalog (__open_catalog): Use `__stpcpy', `__open', `__fstat', `__read', `__mmap', `__munmap' and `__close' instead of unprotected names.
1996-08-08 01:50:59 +02:00
free ((void *) dirp);
1995-02-18 02:27:10 +01:00
return __close (fd);
}
Update. Thu Aug 8 01:41:43 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile: Undo change of Tue Aug 6 14:27:11 1996. * elf/dl-support: Add definition of `_dl_sysdep_read_whole_file'. Thu Aug 8 01:15:59 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu_control.h (_FPU_DEFAULT, _FPU_IEEE): Set to 0x137f to allow long double operations. Sun Aug 4 13:12:05 1996 Richard Henderson <rth@tamu.edu> Bug Fixes: * nss/nsswitch.c (_res): Remove redundant variable definition. The real one is in resolve/res_init.c, and having both prevents using -fno-common when building the shared library. * sunrpc/rpc_prot.c (_null_auth): Same. Original is in rpc_common.c. * sysdeps/unix/sysv/linux/alpha/brk.S: When PIC, define __curbrk as a .bss object not a COMMON symbol. * sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S: Must load $gp before referencing __sigsetjmp symbol. Retain LITUSE for same. Optimizations: * sysdeps/alpha/strlen.S: Rearrange first-word setup and thense the main loop for better dual-issue on EV5. Rearrange binary search to pipeline better and trim one instruction. Cosmetic Changes: * time/localtime.c (localtime_r): Move lock declaration back next to the comment where it was before the 960724 change. * INSTALL, manual/maint.texi: alpha-gnu-linux -> alpha-ANYTHING-linux. The second word is supposed to be the hardware manufacturer. * sysdeps/alpha/_mcount.S: Retain LITUSE for __mcount. * sysdeps/alpha/setjmp.S: Retain LITUSE for __sigsetjmp_aux. * sysdeps/alpha/divrem.h: More local labels, retain LITUSE for _mcount. * sysdeps/alpha/alphaev5/add_n.S, sysdeps/alpha/alphaev5/lshift.S, sysdeps/alpha/alphaev5/rshift.S, sysdeps/alpha/alphaev5/sub_n.S: Same cleanups as with EV4 GMP stuff. Tue Jul 25 03:30:56 1996 Richard Henderson <rth@tamu.edu> * sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_routines): Add clone. * sysdeps/unix/sysv/linux/alpha/clone.S: New file. * sysdeps/unix/sysv/linux/i386/clone.S: New file. Sun Aug 4 00:12:41 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/gnu/types.h: Declare __fd_mask as `unsigned long'. * misc/sys/select.h: Declare fd_mask as alias of __fd_mask. Sat Aug 3 16:20:02 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for Mikasa. * socket/sys/socket.h (send, __send, sendto): Declare buffer pointer as __const. * string/tester.c (main): Test stpncpy. * sysdeps/generic/stpncpy.c (__stpncpy): Fix so it works without segfault when called with an N that is not a multiple of four and src[N-1]=='\0'. * misc/syslog.c (LogType): New variable. (openlog): If connect() with SOCK_DGRAM fails with EPROTOTYPE, try again with SOCK_STREAM (the Linux syslogd uses a socket of the latter type). (vsyslog): When LogType==SOCK_STREAM, also send ASCII NUL terminator as a record-delimiter. If __send(LogFile) fails, call closelog() so logfile gets re-opened next time. Wed Aug 7 15:15:14 1996 Ulrich Drepper <drepper@cygnus.com> * elf/dl-open (_dl_open): Add cast to avoid warning. * manual/memory.texi: Improve some examples to give readers better advice: Use `stpcpy' instead of `strcat' if possible. * manual/string.texi: Document `strtok_r' and `strtok'. * sunrpc/Makefile: Move `+gccwarn' definition before inclusion of Makeconfig. [$(cross-compiling)=no]: Change test before making librpcsvc to this from $(cross-compile). Reported by Andreas Schwab. Tue Aug 6 14:27:11 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (routines): Move dl-sysdep to here... (rtld-routines): ...from here. This should make static linking work again. * locale/setlocale.c: Add local variable `lock' and add code to `setlocale' to avoid simultaneous changing of global data. * catgets/catgets.c (catopen): Use `__strdup' instead of `strdup'. * catgets/open_catalog (__open_catalog): Use `__stpcpy', `__open', `__fstat', `__read', `__mmap', `__munmap' and `__close' instead of unprotected names.
1996-08-08 01:50:59 +02:00
weak_alias (__closedir, closedir)