diff options
author | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-11 10:54:17 +0000 |
---|---|---|
committer | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-11 10:54:17 +0000 |
commit | 5c3abcd043dca3794d68757a34640cb0ea9502b1 (patch) | |
tree | b1ecae374a59c0e03992dd6e7ce5308e5b035343 /lib/fileutils.rb | |
parent | eb5a1741196738df14f131c2e1b1a69412802964 (diff) |
catch all SystemCallErrors.
* lib/fileutils.rb (mkdir_p): catch all SystemCallErrors (mkdir("C:\") causes EACCESS on Windows 2000/NTFS).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/fileutils.rb')
-rw-r--r-- | lib/fileutils.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/fileutils.rb b/lib/fileutils.rb index eaa5434d39..d9eba19314 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -170,7 +170,7 @@ module FileUtils return *list if options[:noop] mode = options[:mode] || (0777 & ~File.umask) - list.map {|n| File.expand_path(n) }.each do |path| + list.each do |path| stack = [] until path == stack.last # dirname("/")=="/", dirname("C:/")=="C:/" stack.push path @@ -179,7 +179,7 @@ module FileUtils stack.reverse_each do |path| begin Dir.mkdir path, mode - rescue Errno::EEXIST => err + rescue SystemCallError => err raise unless File.directory?(path) end end |