blob: bc2efb08fa669d399dd1f581a3e09be50e4d82ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <dirent.h> // for DIR, closedir
#include <errno.h> // for EBADF, errno
#include <libc/dirent.h> // for __DIR
#include <stdlib.h> // for free
#include <unistd.h> // for close
int closedir(DIR *dirp)
{
struct __DIR *rdirp = (struct __DIR *)dirp;
if (rdirp->fildes >= 0) {
errno = EBADF;
return -1;
}
close(rdirp->fildes);
free(rdirp);
return 0;
}
|