--- ./channels/rdpdr/disk/disk_file.c.orig +++ ./channels/rdpdr/disk/disk_file.c @@ -414,7 +414,7 @@ char* fullpath; struct stat st; UNICONV* uniconv; - struct timeval tv[2]; + struct timespec tv[2]; uint64 LastWriteTime; uint32 FileAttributes; uint32 FileNameLength; @@ -433,10 +433,10 @@ return false; tv[0].tv_sec = st.st_atime; - tv[0].tv_usec = 0; + tv[0].tv_nsec = 0; tv[1].tv_sec = (LastWriteTime > 0 ? FILE_TIME_RDP_TO_SYSTEM(LastWriteTime) : st.st_mtime); - tv[1].tv_usec = 0; - futimes(file->fd, tv); + tv[1].tv_nsec = 0; + futimens(file->fd, tv); if (FileAttributes > 0) {