summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/closedir.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/lib/closedir.c')
-rw-r--r--mdk-stage1/dietlibc/lib/closedir.c32
1 files changed, 7 insertions, 25 deletions
diff --git a/mdk-stage1/dietlibc/lib/closedir.c b/mdk-stage1/dietlibc/lib/closedir.c
index c8d834f3b..e73025eb1 100644
--- a/mdk-stage1/dietlibc/lib/closedir.c
+++ b/mdk-stage1/dietlibc/lib/closedir.c
@@ -1,28 +1,10 @@
-#include <stdlib.h>
+#include "dietdirent.h"
#include <unistd.h>
-#include <errno.h>
-#undef _POSIX_PTHREADS
-#include "dirstream.h"
-
-#undef closedir
-int closedir(DIR * dir)
-{
- int fd;
-
- if (!dir) {
- errno = EBADF;
- return -1;
- }
+#include <dirent.h>
+#include <stdlib.h>
- /* We need to check dd_fd. */
- if (dir->dd_fd == -1)
- {
- errno = EBADF;
- return -1;
- }
- fd = dir->dd_fd;
- dir->dd_fd = -1;
- free(dir->dd_buf);
- free(dir);
- return close(fd);
+int closedir (DIR* d) {
+ int res=close(d->fd);
+ free(d);
+ return res;
}