stat
====

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

Gnulib module: stat

Portability problems fixed by Gnulib:

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

  * On some platforms, stat("link-to-file/",buf) succeeds instead of failing with ENOTDIR. FreeBSD 7.2, AIX 7.1, Solaris 9.

  * On some platforms, stat(".",buf) and stat("./",buf) give different results: mingw.

Portability problems not fixed by Gnulib:

  * Cygwin's stat function sometimes sets errno to EACCES when ENOENT would be more appropriate.

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

  * Because of the definition of struct stat, it is not possible to portably replace stat via an object-like macro.  Therefore, expressions such as (islnk ? lstat : stat) (name, buf) are not portable, and should instead be written islnk ? lstat (name, buf) : stat (name, buf).