summaryrefslogtreecommitdiff
path: root/win32/win32.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/win32.c')
-rw-r--r--win32/win32.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/win32/win32.c b/win32/win32.c
index de0da968f3..7c7f310bb0 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -4117,11 +4117,17 @@ rb_w32_utime(const char *path, const struct utimbuf *times)
return -1;
}
- if (unixtime_to_filetime(times->actime, &atime)) {
- return -1;
+ if (times) {
+ if (unixtime_to_filetime(times->actime, &atime)) {
+ return -1;
+ }
+ if (unixtime_to_filetime(times->modtime, &mtime)) {
+ return -1;
+ }
}
- if (unixtime_to_filetime(times->modtime, &mtime)) {
- return -1;
+ else {
+ GetSystemTimeAsFileTime(&atime);
+ mtime = atime;
}
RUBY_CRITICAL({