]> granicus.if.org Git - curl/commitdiff
tool_operate: use utimes instead of obsolescent utime when available
authorDan Fandrich <dan@coneharvesters.com>
Wed, 26 Apr 2017 23:24:07 +0000 (01:24 +0200)
committerDan Fandrich <dan@coneharvesters.com>
Thu, 27 Apr 2017 20:34:12 +0000 (22:34 +0200)
configure.ac
src/tool_operate.c

index 9cc1eca27541e29ec42ca98f7a0f182a3205aa11..5ef731260993e17d79d34515739fc913de8e171c 100644 (file)
@@ -3294,7 +3294,8 @@ AC_CHECK_FUNCS([fork \
   setmode \
   setrlimit \
   uname \
-  utime
+  utime \
+  utimes
 ],[
 ],[
   func="$ac_func"
index 724826c8e338d2161b21466505217567e251e9ed..5a129bd348968c7e2b175a1895f006cbfda1b3df 100644 (file)
@@ -231,6 +231,17 @@ static void setfiletime(long filetime, const char *filename,
               "CreateFile failed: GetLastError %u\n",
               filetime, GetLastError());
     }
+
+#elif defined(HAVE_UTIMES)
+    struct timeval times[2];
+    times[0].tv_sec = times[1].tv_sec = filetime;
+    times[0].tv_usec = times[1].tv_usec = 0;
+    if(utimes(filename, times)) {
+      fprintf(error_stream,
+              "Failed to set filetime %ld on outfile: errno %d\n",
+              filetime, errno);
+    }
+
 #elif defined(HAVE_UTIME)
     struct utimbuf times;
     times.actime = (time_t)filetime;