Paul Eggert <eggert <at> CS.UCLA.EDU> writes:

> +++ m4/stat-time.m4   2005-09-15 22:39:57.000000000 -0700
> +dnl From Paul Eggert.
> +
> +# st_atim.tv_nsec - Linux, Solaris
> +# st_atimespec.tv_nsec - FreeBSD, if ! defined _POSIX_SOURCE
> +# st_atimensec - FreeBSD, if defined _POSIX_SOURCE
> +# st_atim.st__tim.tv_nsec - UnixWare (at least 2.1.2 through 7.1)
> +# st_spare1 - Cygwin?

Actually, I just looked at the cygwin source code.  Most systems that use 
newlib have struct stat with adjacent members.  No documentation is provided on 
the resolution of st_spare1, but I think it is usec:
...
 time_t st_atime;
 long   st_spare1;
 time_t st_mtime;
 long   st_spare2;
 time_t st_ctime;
 long   st_spare3;
...

But cygwin defines its own struct stat, with:
struct timestruc_t {
  time_t tv_sec;
  long   tv_nsec; /* nanos */
};
...
 timestruc_t st_atim;
 timestruc_t st_mtim;
 timestruc_t st_ctim;
...
#define st_atime st_atim.tv_sec
#define st_mtime st_mtim.tv_sec
#define st_ctime st_ctim.tv_sec

So your comment is out of date; cygwin is like Linux.  If st_spare1 is still in 
active use, it is probably for other newlib systems like mingw.

--
Eric Blake




_______________________________________________
bug-gnulib mailing list
bug-gnulib@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnulib

Reply via email to