fstatat
=======

POSIX specification:
 http://www.opengroup.org/onlinepubs/9699919799/functions/fstatat.html

Gnulib module: openat

Portability problems fixed by Gnulib:

  * This function is missing on some platforms: glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin 1.5.x, mingw, Interix 3.5, BeOS. But the replacement function is not safe to be used in libraries and is not multithread-safe.

  * On platforms where off_t is a 32-bit type, fstatat may not correctly report the size of files or block devices larger than 2 GB.  (Cf. AC_SYS_LARGEFILE.)

  * On some platforms, fstatat(fd,"file/",buf,flag) succeeds instead of failing with ENOTDIR. Solaris 9.

  * For symlinks, when the argument ends in a slash, some platforms don't dereference the argument: Solaris 9.

Portability problems not fixed by Gnulib:

  * On Windows platforms (excluding Cygwin), st_ino is always 0.

  * On some file systems, st_size contains bogus information for symlinks; use the gnulib module areadlink-with-size for a better way to get symlink contents.