1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#include <errno.h> #include <__dirent.h> #include <dirent.h> #include <sys/stat.h> #include <fcntl.h> #include <stdlib.h> DIR *fdopendir(int fildes) { DIR *dir; if (fildes < 0) { errno = EBADF; return NULL; } if ((dir = calloc(1, sizeof(DIR))) == NULL) { return NULL; } dir->fildes = fildes; return dir; }