diff options
Diffstat (limited to 'win32')
-rw-r--r-- | win32/win32.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/win32/win32.c b/win32/win32.c index e8ac1bbf07..0b58c19690 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -3655,11 +3655,17 @@ rb_w32_utime(const char *path, 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({ |