• Paul Eggert's avatar
    stat: work around Solaris bug with tv_nsec < 0 · 2c5d5587
    Paul Eggert authored
    * doc/posix-functions/fstat.texi (fstat):
    * doc/posix-functions/fstatat.texi (fstatat):
    * doc/posix-functions/lstat.texi (lstat):
    * doc/posix-functions/stat.texi (stat):
    Mention Solaris 11 bug.
    * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
    * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
    * lib/lstat.c (rpl_lstat):
    * lib/stat.c (rpl_stat):
    Normalize resulting timestamps.
    * lib/fstatat.c (normal_fstatat): New function.
    (rpl_fstatat): Use it.
    * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
    (stat_time_normalize): New function.
    * m4/fstat.m4 (gl_FUNC_FSTAT):
    * m4/fstatat.m4 (gl_FUNC_FSTATAT):
    * m4/lstat.m4 (gl_FUNC_LSTAT):
    * m4/stat.m4 (gl_FUNC_STAT):
    Replace on Solaris.
    * modules/fstat (Depends-on):
    * modules/fstatat (Depends-on):
    Add stat-time.
    * modules/stat-time (Depends-on): Add errno, intprops.
    2c5d5587