summaryrefslogtreecommitdiff
path: root/src/dirent/readdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dirent/readdir.c')
-rw-r--r--src/dirent/readdir.c50
1 files changed, 0 insertions, 50 deletions
diff --git a/src/dirent/readdir.c b/src/dirent/readdir.c
deleted file mode 100644
index 9776691f..00000000
--- a/src/dirent/readdir.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#if 0
-
-#include <dirent.h>
-#include <limits.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <string.h>
-#include <unistd.h>
-#include "_dirent.h"
-#include "_syscall.h"
-
-/** read a directory **/
-
-struct dirent * readdir(DIR * dirp)
-{
- if (read(dirp->fd, dirp, sizeof(*dirp)) == -1) {
- if (errno == EISDIR) {
- #ifdef __linux__
- struct {
- long inode;
- off_t offset;
- unsigned short reclen;
- char name[NAME_MAX + 1];
- } linux = { 0, 0, 0, "" };
- long ret = __scall3(getdents, dirp->fd, &linux, sizeof(linux));
- if (ret < 0) {
- errno = -ret;
- return NULL;
- }
-
- #ifdef _XOPEN_SOURCE
- dirp->de.d_ino = linux.inode;
- #endif
-
- strcpy(dirp->de.d_name, linux.name);
- return &dirp->de;
- #endif
- }
- return NULL;
- }
-
- return &dirp->de;
-}
-
-/*
-POSIX(1)
-*/
-
-
-#endif