From 439089327a865a756dfd4fa1414cb2fc5495d9e1 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 21 Mar 2008 12:27:00 +0000 Subject: * lib/resolv.rb (Resolv::Hosts): should not use win32/resolv on cygwin. [ruby-dev:29945], [ruby-dev:34095] * lib/win32/registry.rb (Win32::Registry.expand_environ): try upcased name too for cygwin. [ruby-dev:29945] * lib/win32/resolv.rb (Win32::Resolv.get_hosts_path): use expand_path. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 ++++++++++ ext/dl/win32/lib/win32/registry.rb | 2 +- ext/dl/win32/lib/win32/resolv.rb | 2 +- lib/resolv.rb | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6294916301..4d973ff64f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Fri Mar 21 21:26:52 2008 Nobuyoshi Nakada + + * lib/resolv.rb (Resolv::Hosts): should not use win32/resolv on cygwin. + [ruby-dev:29945], [ruby-dev:34095] + + * lib/win32/registry.rb (Win32::Registry.expand_environ): try upcased + name too for cygwin. [ruby-dev:29945] + + * lib/win32/resolv.rb (Win32::Resolv.get_hosts_path): use expand_path. + Fri Mar 21 21:10:00 2008 Akinori MUSHA * lib/ipaddr.rb: Say that I am the current maintainer. diff --git a/ext/dl/win32/lib/win32/registry.rb b/ext/dl/win32/lib/win32/registry.rb index 2671551a33..9a2f3827b7 100644 --- a/ext/dl/win32/lib/win32/registry.rb +++ b/ext/dl/win32/lib/win32/registry.rb @@ -493,7 +493,7 @@ module Win32 # utility functions # def self.expand_environ(str) - str.gsub(/%([^%]+)%/) { ENV[$1] || $& } + str.gsub(/%([^%]+)%/) { ENV[$1] || ENV[$1.upcase] || $& } end @@type2name = { } diff --git a/ext/dl/win32/lib/win32/resolv.rb b/ext/dl/win32/lib/win32/resolv.rb index 6534d20760..92336fac28 100644 --- a/ext/dl/win32/lib/win32/resolv.rb +++ b/ext/dl/win32/lib/win32/resolv.rb @@ -11,7 +11,7 @@ module Win32 def self.get_hosts_path path = get_hosts_dir - path = File.join(path.gsub(/\\/, File::SEPARATOR), 'hosts') + path = File.expand_path('hosts', path) File.exist?(path) ? path : nil end diff --git a/lib/resolv.rb b/lib/resolv.rb index 4c41e57ddb..a0c29ffb8a 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -160,7 +160,7 @@ class Resolv # DNS::Hosts is a hostname resolver that uses the system hosts file. class Hosts - if /mswin32|cygwin|mingw|bccwin/ =~ RUBY_PLATFORM + if /mswin32|mingw|bccwin/ =~ RUBY_PLATFORM require 'win32/resolv' DefaultFileName = Win32::Resolv.get_hosts_path else -- cgit v1.2.3