34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
diff --git a/signalbackup/setfiletimestamp.cc b/signalbackup/setfiletimestamp.cc
|
|
index f53a168..d2d1c5e 100644
|
|
--- a/signalbackup/setfiletimestamp.cc
|
|
+++ b/signalbackup/setfiletimestamp.cc
|
|
@@ -21,24 +21,23 @@
|
|
|
|
#if !defined(_WIN32) && !defined(__MINGW64__)
|
|
|
|
-#include <fcntl.h>
|
|
-#include <sys/stat.h>
|
|
+#include <sys/time.h>
|
|
|
|
bool SignalBackup::setFileTimeStamp(std::string const &file, long long int time_usec) const
|
|
{
|
|
- struct timespec ntimes[] =
|
|
+ struct timeval ntimes[] =
|
|
{
|
|
{ // ntimes[0] =
|
|
time_usec / 1000, // tv_sec, seconds
|
|
- (time_usec % 1000) * 1000 // tv_usec, nanoseconds
|
|
+ static_cast<int>(time_usec) // tv_usec, nanoseconds
|
|
},
|
|
{ // ntimes[1] =
|
|
time_usec / 1000, // tv_sec, seconds
|
|
- (time_usec % 1000) * 1000 // tv_usec, nanoseconds
|
|
+ static_cast<int>(time_usec) // tv_usec, nanoseconds
|
|
}
|
|
};
|
|
|
|
- return (utimensat(AT_FDCWD, file.c_str(), ntimes, 0) == 0);
|
|
+ return (utimes(file.c_str(), ntimes) == 0);
|
|
}
|
|
|
|
#else // this is poorly tested, I don't have windows
|