summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-08 13:14:51 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-08 13:14:51 +0000
commit78af046e8635b3176299994170f8004a14c78c52 (patch)
tree59e996363534d8072d5b9409e71f6f9e1e931d45 /lib
parent1da20f3efbe510c2c143dd5971f70b77590dbc31 (diff)
merge revision(s) 27667:
* ext/etc/etc.c (etc_systmpdir): moved from ext/tmpdir. * ext/etc/etc.c (etc_sysconfdir): added. * lib/rubygems/config_file.rb, lib/tmpdir.rb: use etc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rubygems/config_file.rb11
-rw-r--r--lib/tmpdir.rb7
2 files changed, 6 insertions, 12 deletions
diff --git a/lib/rubygems/config_file.rb b/lib/rubygems/config_file.rb
index 3498d06540..1a96356fa8 100644
--- a/lib/rubygems/config_file.rb
+++ b/lib/rubygems/config_file.rb
@@ -47,15 +47,8 @@ class Gem::ConfigFile
system_config_path =
begin
- require 'Win32API'
-
- CSIDL_COMMON_APPDATA = 0x0023
- path = 0.chr * 260
- SHGetFolderPath = Win32API.new 'shell32', 'SHGetFolderPath', 'PLPLP', 'L',
- :stdcall
- SHGetFolderPath.call nil, CSIDL_COMMON_APPDATA, nil, 1, path
-
- path.strip
+ require 'etc.so'
+ Etc.sysconfdir
rescue LoadError
'/etc'
end
diff --git a/lib/tmpdir.rb b/lib/tmpdir.rb
index 2f9a2486b0..f043ad5006 100644
--- a/lib/tmpdir.rb
+++ b/lib/tmpdir.rb
@@ -5,13 +5,14 @@
#
require 'fileutils'
-if /mswin|mingw/ =~ RUBY_PLATFORM
- require 'tmpdir.so'
+begin
+ require 'etc.so'
+rescue LoadError
end
class Dir
- @@systmpdir ||= '/tmp'
+ @@systmpdir ||= defined?(Etc.systmpdir) ? Etc.systmpdir : '/tmp'
##
# Returns the operating system's temporary file path.