aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/fileutils.rb22
2 files changed, 19 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 21e6ad2bfe..9d7508b9c0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 22 17:49:05 2009 Akinori MUSHA <knu@iDaemons.org>
+
+ * lib/fileutils.rb (FileUtils#fu_get_uid, fu_get_gid): Do not
+ convert an integer back and forth.
+
Thu Oct 22 17:29:51 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (arg_prepend): removed. a patch from Mikhail T. in
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index 58e3f1d684..8c522ced55 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -977,20 +977,26 @@ module FileUtils
def fu_get_uid(user) #:nodoc:
return nil unless user
- user = user.to_s
- if /\A\d+\z/ =~ user
- then user.to_i
- else Etc.getpwnam(user).uid
+ case user
+ when Integer
+ user
+ when /\A\d+\z/
+ user.to_i
+ else
+ Etc.getpwnam(user).uid
end
end
private_module_function :fu_get_uid
def fu_get_gid(group) #:nodoc:
return nil unless group
- group = group.to_s
- if /\A\d+\z/ =~ group
- then group.to_i
- else Etc.getgrnam(group).gid
+ case group
+ when Integer
+ group
+ when /\A\d+\z/
+ group.to_i
+ else
+ Etc.getgrnam(group).gid
end
end
private_module_function :fu_get_gid