diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-06 16:58:40 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-06 16:58:40 +0000 |
commit | f17c697c442e21a75cda6eb83f32521838571b99 (patch) | |
tree | 986622c5363e92a06c25886d1734aa39747f1573 /lib/fileutils.rb | |
parent | 26dc19024774eb5c412d8957569f6c2a4e9af6f5 (diff) |
merge revision(s) 41781: [Backport #8604]
* lib/fileutils.rb (FileUtils#symbolic_modes_to_i): Fix the wrong
character class [+-=], which happened to match all desired
characters but also match undesired characters.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41811 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 d3bc0834e1..723ad91000 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -904,8 +904,8 @@ module FileUtils def symbolic_modes_to_i(modes, path) #:nodoc: current_mode = (File.stat(path).mode & 07777) modes.split(/,/).inject(0) do |mode, mode_sym| - mode_sym = "a#{mode_sym}" if mode_sym =~ %r!^[+-=]! - target, mode = mode_sym.split %r![+-=]! + mode_sym = "a#{mode_sym}" if mode_sym =~ %r!^[=+-]! + target, mode = mode_sym.split %r![=+-]! user_mask = user_mask(target) mode_mask = mode_mask(mode ? mode : "", path) |