summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-08 03:25:17 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-08 03:25:17 +0000
commit2c01a07bf4317605758b1242cf2f802baa117087 (patch)
tree2d32161f8fae91113feef563b392d256bce1cad2 /lib
parent5512c9b28716df7681680e0db598f3263ad3fe44 (diff)
* 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/trunk@27667 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.