summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/seekdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/lib/seekdir.c')
-rw-r--r--mdk-stage1/dietlibc/lib/seekdir.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/mdk-stage1/dietlibc/lib/seekdir.c b/mdk-stage1/dietlibc/lib/seekdir.c
index f83052250..cf111fbc8 100644
--- a/mdk-stage1/dietlibc/lib/seekdir.c
+++ b/mdk-stage1/dietlibc/lib/seekdir.c
@@ -1,15 +1,8 @@
+#include "dietdirent.h"
#include <unistd.h>
-#include <errno.h>
+#include <dirent.h>
-#include "dirstream.h"
-
-#undef seekdir
-void seekdir(DIR * dir, off_t offset)
-{
- if (!dir) {
- errno = EBADF;
- return;
- }
- dir->dd_nextoff = lseek(dir->dd_fd, offset, SEEK_SET);
- dir->dd_size = dir->dd_nextloc = 0;
+void seekdir(DIR *d,off_t offset) {
+ if (lseek(d->fd,offset,SEEK_SET) != (off_t)-1)
+ d->num=d->cur=0;
}