diff options
Diffstat (limited to 'lib/libc/dirent/closedir.c')
| -rw-r--r-- | lib/libc/dirent/closedir.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/libc/dirent/closedir.c b/lib/libc/dirent/closedir.c new file mode 100644 index 00000000..8a4ef3a7 --- /dev/null +++ b/lib/libc/dirent/closedir.c @@ -0,0 +1,17 @@ +#include <errno.h> +#include <__dirent.h> +#include <unistd.h> +#include <dirent.h> +#include <stdlib.h> + +int closedir(DIR *dirp) +{ + if (dirp->fildes >= 0) { + errno = EBADF; + return -1; + } + + close(dirp->fildes); + free(dirp); + return 0; +} |
