summaryrefslogtreecommitdiff
path: root/lib/libc/dirent/closedir.c
blob: 8a4ef3a74c42401d07bcbde66b25c4150487a86d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
}