tool_operate: Fix --remote-time incorrect times on Windows

- Use Windows API SetFileTime to set the file time instead of utime.

Avoid utime on Windows if possible because it may apply a daylight
saving time offset to our UTC file time.

Bug: https://curl.haxx.se/mail/archive-2016-11/0033.html
Reported-by: Tim

Closes https://github.com/curl/curl/pull/1121
This commit is contained in:
Jay Satiro 2016-11-11 02:48:52 -05:00
parent 89b7898846
commit ee3c83f39c
2 changed files with 54 additions and 7 deletions

View file

@ -1016,10 +1016,12 @@ FAQ
4.13 Why is curl -R on Windows one hour off?
During daylight savings time, when -R is used, curl will set a time that
appears one hour off. This happens due to a flaw in how Windows stores and
uses file modification times and it is not easily worked around. For details
on this problem, read this: http://www.codeproject.com/datetime/dstbugs.asp
Since curl 7.53.0 this issue should be fixed as long as curl was built with
any modern compiler that allows for a 64-bit curl_off_t type. For older
compilers or prior curl versions it may set a time that appears one hour off.
This happens due to a flaw in how Windows stores and uses file modification
times and it is not easily worked around. For more details read this:
http://www.codeproject.com/datetime/dstbugs.asp
4.14 Redirects work in browser but not with curl!