aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-06-28 22:03:00 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-06-28 22:03:00 +0000
commit4bca3851403aabdc4683c27e6c798530dd657c32 (patch)
tree05180b77547bd6e0ed149e75fa88cfb2c3e7a456 /lib
parent1e7240b5b23448e805bc89529dcdbaea33c5b2b6 (diff)
downloadruby-4bca3851403aabdc4683c27e6c798530dd657c32.tar.gz
Octal mode in un.rb
* lib/fileutils.rb (FileUtils#symbolic_modes_to_i): revert r55524. * lib/un.rb (install, chmod): support octal mode string. fix up r55513. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/fileutils.rb1
-rw-r--r--lib/un.rb5
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index 74cb4a3e0c..4317af5327 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -812,7 +812,6 @@ module FileUtils
private_module_function :apply_mask
def symbolic_modes_to_i(mode_sym, path) #:nodoc:
- return mode_sym.oct if /\A[0-7]+\z/ =~ mode_sym
mode = if File::Stat === path
path.mode
else
diff --git a/lib/un.rb b/lib/un.rb
index 745afcd958..b644fd9be4 100644
--- a/lib/un.rb
+++ b/lib/un.rb
@@ -196,7 +196,7 @@ end
def install
setup("pm:o:g:") do |argv, options|
- (mode = options.delete :m) and options[:mode] = mode
+ (mode = options.delete :m) and options[:mode] = /\A\d/ =~ mode ? mode.oct : mode
options[:preserve] = true if options.delete :p
(owner = options.delete :o) and options[:owner] = owner
(group = options.delete :g) and options[:group] = group
@@ -216,7 +216,8 @@ end
def chmod
setup do |argv, options|
- mode = argv.shift.oct
+ mode = argv.shift
+ mode = /\A\d/ =~ mode ? mode.oct : mode
FileUtils.chmod mode, argv, options
end
end