#include <dirent.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <errno.h>
#include <stdlib.h>
#include "__dirent.h"

DIR* fdopendir(int fd) {
  DIR* dir;
  struct stat st;

  if (fstat(fd, &st) < 0) {
    return 0;
  }
  if (!S_ISDIR(st.st_mode)) {
    errno = ENOTDIR;
    return 0;
  }
  if (!(dir = calloc(1, sizeof *dir))) {
    return 0;
  }

  fcntl(fd, F_SETFD, FD_CLOEXEC);
  dir->fd = fd;
  return dir;
}
