use utimes instead of utimensat/futimens
[ntk/apt.git] / methods / ftp.cc
index 2d05364..70bf4f6 100644 (file)
@@ -954,11 +954,11 @@ void FtpMethod::SigTerm(int)
       _exit(100);
 
    // Timestamp
-   struct timespec times[2];
+   struct timeval times[2];
    times[0].tv_sec = FailTime;
    times[1].tv_sec = FailTime;
-   times[0].tv_nsec = times[1].tv_nsec = 0;
-   futimens(FailFd, times);
+   times[0].tv_usec = times[1].tv_usec = 0;
+   utimes(FailFile.c_str(), times);
 
    close(FailFd);
 
@@ -1062,11 +1062,11 @@ bool FtpMethod::Fetch(FetchItem *Itm)
         Fd.Close();
 
         // Timestamp
-        struct timespec times[2];
+        struct timeval times[2];
         times[0].tv_sec = FailTime;
         times[1].tv_sec = FailTime;
-        times[0].tv_nsec = times[1].tv_nsec = 0;
-        futimens(FailFd, times);
+        times[0].tv_usec = times[1].tv_usec = 0;
+        utimes(FailFile.c_str(), times);
 
         // If the file is missing we hard fail and delete the destfile
         // otherwise transient fail
@@ -1081,11 +1081,11 @@ bool FtpMethod::Fetch(FetchItem *Itm)
       Res.Size = Fd.Size();
 
       // Timestamp
-      struct timespec times[2];
+      struct timeval times[2];
       times[0].tv_sec = FailTime;
       times[1].tv_sec = FailTime;
-      times[0].tv_nsec = times[1].tv_nsec = 0;
-      futimens(Fd.Fd(), times);
+      times[0].tv_usec = times[1].tv_usec = 0;
+      utimes(Fd.Name().c_str(), times);
       FailFd = -1;
    }