2002-09-14 Eric Norum <eric.norum@usask.ca>

* src/readdir_r.c: New file.
	* Makefile.am: Reflect above.
This commit is contained in:
Joel Sherrill
2002-09-14 17:04:05 +00:00
parent 2b2e1e96b4
commit 193fe69007
3 changed files with 46 additions and 13 deletions

View File

@@ -1,3 +1,8 @@
2002-09-14 Eric Norum <eric.norum@usask.ca>
* src/readdir_r.c: New file.
* Makefile.am: Reflect above.
2002-08-12 Eric Norum <eric.norum@usask.ca>
* src/write.c (_write_r): Change prototype to match newlib's reent.h.

View File

@@ -97,28 +97,34 @@ ASSOCIATION_C_FILES = src/assoc.c src/assocnamebad.c
BASE_FS_C_FILES = src/base_fs.c src/mount.c src/unmount.c src/libio.c \
src/libio_sockets.c src/eval.c src/fs_null_handlers.c src/privateenv.c
TERMIOS_C_FILES = src/cfgetispeed.c src/cfgetospeed.c src/cfsetispeed.c src/cfsetospeed.c \
src/tcgetattr.c src/tcsetattr.c src/tcdrain.c src/tcflow.c src/tcflush.c src/tcgetprgrp.c \
src/tcsendbreak.c src/tcsetpgrp.c src/termios.c src/termiosinitialize.c \
TERMIOS_C_FILES = src/cfgetispeed.c src/cfgetospeed.c src/cfsetispeed.c \
src/cfsetospeed.c src/tcgetattr.c src/tcsetattr.c src/tcdrain.c \
src/tcflow.c src/tcflush.c src/tcgetprgrp.c src/tcsendbreak.c \
src/tcsetpgrp.c src/termios.c src/termiosinitialize.c \
src/termiosreserveresources.c
SYSTEM_CALL_C_FILES = src/open.c src/close.c src/read.c src/write.c src/lseek.c src/ioctl.c src/mkdir.c \
src/mknod.c src/mkfifo.c src/rmdir.c src/chdir.c src/chmod.c src/fchdir.c src/fchmod.c src/chown.c \
src/link.c src/unlink.c src/umask.c src/ftruncate.c src/utime.c src/fstat.c src/fcntl.c src/fpathconf.c \
src/getdents.c src/fsync.c src/fdatasync.c src/pipe.c src/dup.c src/dup2.c src/symlink.c src/readlink.c \
src/creat.c src/chroot.c
SYSTEM_CALL_C_FILES = src/open.c src/close.c src/read.c src/write.c \
src/lseek.c src/ioctl.c src/mkdir.c src/mknod.c src/mkfifo.c src/rmdir.c \
src/chdir.c src/chmod.c src/fchdir.c src/fchmod.c src/chown.c src/link.c \
src/unlink.c src/umask.c src/ftruncate.c src/utime.c src/fstat.c \
src/fcntl.c src/fpathconf.c src/getdents.c src/fsync.c src/fdatasync.c \
src/pipe.c src/dup.c src/dup2.c src/symlink.c src/readlink.c src/creat.c \
src/chroot.c
DIRECTORY_SCAN_C_FILES = src/opendir.c src/closedir.c src/readdir.c src/rewinddir.c \
src/scandir.c src/seekdir.c src/telldir.c src/getcwd.c
DIRECTORY_SCAN_C_FILES = src/opendir.c src/closedir.c src/readdir.c \
src/readdir_r.c src/rewinddir.c src/scandir.c src/seekdir.c \
src/telldir.c src/getcwd.c
MALLOC_C_FILES = src/malloc.c src/mallocfreespace.c src/__brk.c src/__sbrk.c
PASSWORD_GROUP_C_FILES = src/getpwent.c src/getgrent.c
TERMINAL_IDENTIFICATION_C_FILES = src/ctermid.c src/isatty.c src/ttyname.c src/ttyname_r.c
TERMINAL_IDENTIFICATION_C_FILES = src/ctermid.c src/isatty.c src/ttyname.c \
src/ttyname_r.c
LIBC_GLUE_C_FILES = src/__getpid.c src/__gettod.c src/__times.c src/truncate.c src/access.c \
src/stat.c src/lstat.c src/pathconf.c src/newlibc.c src/no_posix.c src/no_libc.c src/utsname.c
LIBC_GLUE_C_FILES = src/__getpid.c src/__gettod.c src/__times.c \
src/truncate.c src/access.c src/stat.c src/lstat.c src/pathconf.c \
src/newlibc.c src/no_posix.c src/no_libc.c src/utsname.c
UNIX_LIBC_C_FILES = src/unixlibc.c src/hosterr.c

View File

@@ -0,0 +1,22 @@
/*
* readdir_r - reentrant version of readdir()
*
* $Id$
*/
#include <sys/types.h>
#include <dirent.h>
#include <errno.h>
#include <stdio.h>
/*
* The RTEMS version of readdir is already thread-safe.
*/
int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result)
{
*result = readdir(dirp);
if (*result)
*entry = **result;
return *result ? 0 : errno;
}