#include <errno.h>
#include <dirent.h>
#include <stdio.h>
#include <unistd.h>


static int
do_test (void)
{
  char tmpl[] = "/tmp/tst-fdopendir2-XXXXXX";
  int fd = mkstemp (tmpl);
  if (fd == -1)
    {
      puts ("cannot open temp file");
      return 1;
    }

  errno = 0;
  DIR *d = fdopendir (fd);

  int e = errno;

  close (fd);
  unlink (tmpl);

  if (d != NULL)
    {
      puts ("fdopendir with normal file descriptor did not fail");
      return 1;
    }
  if (e != ENOTDIR)
    {
      printf ("fdopendir set errno to %d, not %d as expected\n", e, ENOTDIR);
      return 1;
    }

  return 0;
}

#define TEST_FUNCTION do_test ()
#include "../test-skeleton.c"
