summaryrefslogtreecommitdiff
path: root/lib/fileutils.rb
diff options
context:
space:
mode:
authorKazuhiro NISHIYAMA <zn@mbf.nifty.com>2020-06-22 18:34:24 +0900
committerKazuhiro NISHIYAMA <zn@mbf.nifty.com>2020-06-22 18:34:24 +0900
commit6adbdb56edcf62c11229e1c9c6f75656700f1c5f (patch)
tree5272b8bbee68b7fbd12d9021554941a34ce518f5 /lib/fileutils.rb
parent3a1e63e54064496755e9e306f10c72fafc5bd162 (diff)
Fix Encoding::CompatibilityError in `FileUtils::Entry_#join`
Diffstat (limited to 'lib/fileutils.rb')
-rw-r--r--lib/fileutils.rb10
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