summaryrefslogtreecommitdiff
path: root/lib/fileutils.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-09-16 11:59:47 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-09-16 11:59:47 +0000
commit2635984cf2b9b7632f8b35afa2f29d219aba104a (patch)
tree7f717315b6ae9f7380e64d62fdc209b82e6f7faf /lib/fileutils.rb
parent40d117ae88c4c8f2a9134fba7ba62417425877d1 (diff)
fileutils.rb: error at rmdir
* lib/fileutils.rb (rmdir): should not ignore errors first, except for parent directories. [ruby-dev:50236] [Bug #13889] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/fileutils.rb')
-rw-r--r--lib/fileutils.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index ad4a21e26e..37945b4096 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -245,15 +245,15 @@ module FileUtils
fu_output_message "rmdir #{parents ? '-p ' : ''}#{list.join ' '}" if verbose
return if noop
list.each do |dir|
- begin
- Dir.rmdir(dir = remove_trailing_slash(dir))
- if parents
+ Dir.rmdir(dir = remove_trailing_slash(dir))
+ if parents
+ begin
until (parent = File.dirname(dir)) == '.' or parent == dir
dir = parent
Dir.rmdir(dir)
end
+ rescue Errno::ENOTEMPTY, Errno::EEXIST, Errno::ENOENT
end
- rescue Errno::ENOTEMPTY, Errno::EEXIST, Errno::ENOENT
end
end
end