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 + + * 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 * 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