diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | lib/fileutils.rb | 4 |
2 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Fri Jul 5 01:23:33 2013 Akinori MUSHA <knu@iDaemons.org> + + * 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. + Fri Jul 5 00:25:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> * lib/mkmf.rb (have_framework): allow header file to check. diff --git a/lib/fileutils.rb b/lib/fileutils.rb index a23da622e8..a75aab5f04 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -910,8 +910,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) |