* fhandler.cc (fhandler_base::fstat): Initialise tv_nsec member of

st_atim, st_mtim, and st_ctim fields.
	* fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Ditto.
	* fhandler_process.cc (fhandler_process::fstat): Ditto.
	* glob.c (stat32_to_STAT): Copy across the whole st_atim,
	st_mtime, and st_ctim fields.
	* syscalls.cc (stat64_to_stat32): Ditto.
	* times.cc (to_timestruc_t): New function.
	(time_as_timestruc_t): New function.
	* winsup.h: Add to_timestruc_t and time_as_timestruc_t functions.
	* include/cygwin/stat.h: Replace time_t with timestruc_t
	throughout for all file times, removing the st_spare1, st_spare2,
	and st_spare3 fields in the process. Add macros to access tv_sec
	fields by old names.
	* include/cygwin/types.h: Typedef timespec_t and timestruc_t as
	struct timespec.
This commit is contained in:
Corinna Vinschen
2002-06-06 15:35:09 +00:00
parent a81cc3be2a
commit c4e6ff484c
10 changed files with 90 additions and 29 deletions

View File

@ -121,7 +121,8 @@ fhandler_process::fstat (struct __stat64 *buf, path_conv *pc)
return 0;
case 2:
buf->st_ctime = buf->st_mtime = p->start_time;
buf->st_atime = time(NULL);
buf->st_ctim.tv_nsec = buf->st_mtim.tv_nsec = 0;
time_as_timestruc_t(&buf->st_atim);
buf->st_uid = p->uid;
buf->st_gid = p->gid;
buf->st_mode |= S_IFDIR | S_IXUSR | S_IXGRP | S_IXOTH;