diff options
Diffstat (limited to 'src/dirent/closedir.c')
-rw-r--r-- | src/dirent/closedir.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/dirent/closedir.c b/src/dirent/closedir.c index c12abfff..24cf31dd 100644 --- a/src/dirent/closedir.c +++ b/src/dirent/closedir.c @@ -1,14 +1,19 @@ #include <dirent.h> -#include "nonstd/assert.h" -#include "../_syscall.h" +#include "sys/types.h" +#include "unistd.h" +#include "stdlib.h" +#include "../_assert.h" +#include "_dirent.h" int closedir(DIR *dirp) { - /* + int ret = -1; ASSERT_NONNULL(dirp); - SYSCALL(closedir, int, -1, dirp, 0, 0, 0, 0, 0); - */ - return -1; + ret = close(dirp->fd); + if (ret != -1) { + free(dirp); + } + return ret; } /* POSIX(1) |