From 193fe690070bb040b36bf7d2639b454d88c37d3f Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Sat, 14 Sep 2002 17:04:05 +0000 Subject: 2002-09-14 Eric Norum * src/readdir_r.c: New file. * Makefile.am: Reflect above. --- cpukit/libcsupport/ChangeLog | 5 +++++ cpukit/libcsupport/Makefile.am | 32 +++++++++++++++++++------------- cpukit/libcsupport/src/readdir_r.c | 22 ++++++++++++++++++++++ 3 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 cpukit/libcsupport/src/readdir_r.c (limited to 'cpukit/libcsupport') diff --git a/cpukit/libcsupport/ChangeLog b/cpukit/libcsupport/ChangeLog index b6738e5d67..d88e9059cf 100644 --- a/cpukit/libcsupport/ChangeLog +++ b/cpukit/libcsupport/ChangeLog @@ -1,3 +1,8 @@ +2002-09-14 Eric Norum + + * src/readdir_r.c: New file. + * Makefile.am: Reflect above. + 2002-08-12 Eric Norum * src/write.c (_write_r): Change prototype to match newlib's reent.h. diff --git a/cpukit/libcsupport/Makefile.am b/cpukit/libcsupport/Makefile.am index 53c3f3dc94..b758db0d61 100644 --- a/cpukit/libcsupport/Makefile.am +++ b/cpukit/libcsupport/Makefile.am @@ -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 diff --git a/cpukit/libcsupport/src/readdir_r.c b/cpukit/libcsupport/src/readdir_r.c new file mode 100644 index 0000000000..9ddb84f97c --- /dev/null +++ b/cpukit/libcsupport/src/readdir_r.c @@ -0,0 +1,22 @@ +/* + * readdir_r - reentrant version of readdir() + * + * $Id$ + */ + +#include +#include +#include +#include + +/* + * 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; +} -- cgit v1.2.3