1: #include <dirent.h>
2: #include <errno.h>
3: #include <errno.h>
4: #include <stdio.h>
5: #include <stdlib.h>
6: #include <unistd.h>
7: #include <sys/types.h>
8:
9:
10: int
11: main (void)
12: {
13: DIR *dirp;
14: struct dirent* ent;
15:
16:
17: dirp = opendir ("/tmp");
18: if (dirp == NULL)
19: {
20: if (errno == ENOENT)
21: exit (0);
22:
23: perror ("opendir");
24: exit (1);
25: }
26:
27:
28: if (close (dirfd (dirp)) != 0)
29: {
30: puts ("could not close directory file descriptor");
31:
32: return 0;
33: }
34:
35: ent = readdir (dirp);
36:
37: return ent != NULL || errno != EBADF;
38: }