summaryrefslogtreecommitdiffstats
path: root/lib/libc/gen/opendir.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/gen/opendir.c')
-rw-r--r--lib/libc/gen/opendir.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/libc/gen/opendir.c b/lib/libc/gen/opendir.c
index bd7fc82..51d7090 100644
--- a/lib/libc/gen/opendir.c
+++ b/lib/libc/gen/opendir.c
@@ -37,6 +37,7 @@
static char sccsid[] = "@(#)opendir.c 8.8 (Berkeley) 5/1/95";
#endif /* LIBC_SCCS and not lint */
+#include "namespace.h"
#include <sys/param.h>
#include <sys/mount.h>
#include <sys/stat.h>
@@ -46,9 +47,9 @@ static char sccsid[] = "@(#)opendir.c 8.8 (Berkeley) 5/1/95";
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
+#include "un-namespace.h"
#include "telldir.h"
-
/*
* Open a directory.
*/
@@ -56,7 +57,6 @@ DIR *
opendir(name)
const char *name;
{
-
return (__opendir2(name, DTF_HIDEW|DTF_NODUP));
}
@@ -73,8 +73,8 @@ __opendir2(name, flags)
struct stat statb;
/*
- * stat() before open() because opening of special files may be
- * harmful. fstat() after open because the file may have changed.
+ * stat() before _open() because opening of special files may be
+ * harmful. _fstat() after open because the file may have changed.
*/
if (stat(name, &statb) != 0)
return (NULL);
@@ -85,7 +85,7 @@ __opendir2(name, flags)
if ((fd = _open(name, O_RDONLY | O_NONBLOCK)) == -1)
return (NULL);
dirp = NULL;
- if (fstat(fd, &statb) != 0)
+ if (_fstat(fd, &statb) != 0)
goto fail;
if (!S_ISDIR(statb.st_mode)) {
errno = ENOTDIR;
@@ -102,7 +102,7 @@ __opendir2(name, flags)
/*
* Use the system page size if that is a multiple of DIRBLKSIZ.
* Hopefully this can be a big win someday by allowing page
- * trades to user space to be done by getdirentries().
+ * trades to user space to be done by _getdirentries().
*/
incr = getpagesize();
if ((incr % DIRBLKSIZ) != 0)
@@ -114,7 +114,7 @@ __opendir2(name, flags)
if (flags & DTF_NODUP) {
struct statfs sfb;
- if (fstatfs(fd, &sfb) < 0)
+ if (_fstatfs(fd, &sfb) < 0)
goto fail;
unionstack = !strcmp(sfb.f_fstypename, "union");
} else {
@@ -140,7 +140,7 @@ __opendir2(name, flags)
do {
/*
* Always make at least DIRBLKSIZ bytes
- * available to getdirentries
+ * available to _getdirentries
*/
if (space < DIRBLKSIZ) {
space += incr;
@@ -151,7 +151,7 @@ __opendir2(name, flags)
ddptr = buf + (len - space);
}
- n = getdirentries(fd, ddptr, space, &dirp->dd_seek);
+ n = _getdirentries(fd, ddptr, space, &dirp->dd_seek);
if (n > 0) {
ddptr += n;
space -= n;
@@ -265,6 +265,7 @@ __opendir2(name, flags)
dirp->dd_loc = 0;
dirp->dd_fd = fd;
dirp->dd_flags = flags;
+ dirp->dd_lock = NULL;
/*
* Set up seek point for rewinddir.
OpenPOWER on IntegriCloud