aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newlib/ChangeLog7
-rw-r--r--newlib/libc/include/_syslist.h15
2 files changed, 19 insertions, 3 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 7ad263c..0ca0466 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,10 @@
+2005-08-22 Shaun Jackman <sjackman@gmail.com>
+
+ * libc/include/_syslist.h: If HAVE_OPENDIR is not defined,
+ define _opendir as opendir, _readdir as readdir, and
+ _closedir as closedir so that the implementations in
+ libc/posix will be used.
+
2005-08-10 DJ Delorie <dj@redhat.com>
* MAINTAINERS (CPU Ports): Add CPU port maintainer section.
diff --git a/newlib/libc/include/_syslist.h b/newlib/libc/include/_syslist.h
index fa552fb..0bf76e1 100644
--- a/newlib/libc/include/_syslist.h
+++ b/newlib/libc/include/_syslist.h
@@ -2,6 +2,7 @@
and only provide C names, so that we end up in violation of ANSI */
#ifndef __SYSLIST_H
#define __SYSLIST_H
+
#ifdef MISSING_SYSCALL_NAMES
#define _close close
#define _execve execve
@@ -21,9 +22,17 @@
#define _unlink unlink
#define _wait wait
#define _write write
-/* functions not yet sysfaked */
+#endif /* MISSING_SYSCALL_NAMES */
+
+#if defined MISSING_SYSCALL_NAMES || !defined HAVE_OPENDIR
+/* If the system call interface is missing opendir, readdir, and
+ closedir, there is an implementation of these functions in
+ libc/posix that is implemented using open, getdents, and close.
+ Note, these functions are currently not in the libc/syscalls
+ directory. */
#define _opendir opendir
#define _readdir readdir
#define _closedir closedir
-#endif
-#endif
+#endif /* MISSING_SYSCALL_NAMES || !HAVE_OPENDIR */
+
+#endif /* !__SYSLIST_H_ */