diff options
author | Kazuhiro NISHIYAMA <zn@mbf.nifty.com> | 2020-06-22 18:34:24 +0900 |
---|---|---|
committer | Kazuhiro NISHIYAMA <zn@mbf.nifty.com> | 2020-06-22 18:34:24 +0900 |
commit | 6adbdb56edcf62c11229e1c9c6f75656700f1c5f (patch) | |
tree | 5272b8bbee68b7fbd12d9021554941a34ce518f5 /lib/fileutils.rb | |
parent | 3a1e63e54064496755e9e306f10c72fafc5bd162 (diff) | |
download | ruby-6adbdb56edcf62c11229e1c9c6f75656700f1c5f.tar.gz |
Fix Encoding::CompatibilityError in `FileUtils::Entry_#join`
Diffstat (limited to 'lib/fileutils.rb')
-rw-r--r-- | lib/fileutils.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/fileutils.rb b/lib/fileutils.rb index 438f3210f7..c8f4b49067 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -1557,7 +1557,15 @@ module FileUtils def join(dir, base) return File.path(dir) if not base or base == '.' return File.path(base) if not dir or dir == '.' - File.join(dir, base) + begin + File.join(dir, base) + rescue EncodingError + if fu_windows? + File.join(dir.encode(::Encoding::UTF_8), base.encode(::Encoding::UTF_8)) + else + raise + end + end end if File::ALT_SEPARATOR |