diff options
author | xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com> | 2021-02-14 19:43:45 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-02-14 19:44:41 +0900 |
commit | a681c484a3c5b9235c84bc5c253b4406e498e8cf (patch) | |
tree | 8a9b58c3739da367fff51db7752f18ded8ff1502 | |
parent | 416956afa6bd64894b0412100985a1a0de0ac480 (diff) |
Fixed codepage for utime [Bug #17626]
Should use the given codepage argument.
Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>
-rw-r--r-- | test/ruby/test_file_exhaustive.rb | 7 | ||||
-rw-r--r-- | win32/win32.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/test/ruby/test_file_exhaustive.rb b/test/ruby/test_file_exhaustive.rb index b966cc690c..0cb63c8f05 100644 --- a/test/ruby/test_file_exhaustive.rb +++ b/test/ruby/test_file_exhaustive.rb @@ -679,6 +679,13 @@ class TestFileExhaustive < Test::Unit::TestCase File.utime(t + 1, t + 2, zerofile) assert_equal(t + 1, File.atime(zerofile)) assert_equal(t + 2, File.mtime(zerofile)) + Dir.mktmpdir do |dir| + Dir.chdir do + path = "foo\u{30b3 30d4 30fc}" + File.write(path, "") rescue next + assert_equal(1, File.utime(nil, nil, path)) + end + end end def test_utime_symlinkfile diff --git a/win32/win32.c b/win32/win32.c index 9b81488e6a..b5d982b657 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -7400,7 +7400,7 @@ wutimensat(int dirfd, const WCHAR *path, const struct timespec *times, int flags static int w32_utimensat(int dirfd, const char *path, const struct timespec *times, int flags, UINT cp) { - WCHAR *wpath = mbstr_to_wstr(filecp(), path, -1, NULL); + WCHAR *wpath = mbstr_to_wstr(cp, path, -1, NULL); int ret = -1; if (wpath) { |