なかだです。

At Thu, 20 Mar 2008 22:34:36 +0900,
植田 裕之 wrote in [ruby-dev:34098]:
> > 柳田です。
> ;
> > 確かにおっしゃる通り、Win32::Resolv.get_hosts_path が壊れているのが問題なので、
> > そちらの方を直すべきでしょうね。
> 
> ということでこんな感じでしょうか? ruby_1_8 での差分です。

どちらかというと、cygwinでwin32/resolv.rbを使っていることが疑問
です。


Index: lib/resolv.rb =================================================================== --- lib/resolv.rb (revision 15813) +++ lib/resolv.rb (working copy) @@ -161,5 +161,5 @@ class Resolv class Hosts - if /mswin32|cygwin|mingw|bccwin/ =~ RUBY_PLATFORM + if /mswin32|mingw|bccwin/ =~ RUBY_PLATFORM require 'win32/resolv' DefaultFileName = Win32::Resolv.get_hosts_path Index: ext/dl/win32/lib/win32/registry.rb =================================================================== --- ext/dl/win32/lib/win32/registry.rb (revision 15813) +++ ext/dl/win32/lib/win32/registry.rb (working copy) @@ -494,5 +494,5 @@ module Win32 # def self.expand_environ(str) - str.gsub(/%([^%]+)%/) { ENV[$1] || $& } + str.gsub(/%([^%]+)%/) { ENV[$1] || ENV[$1.upcase] || $& } end Index: ext/dl/win32/lib/win32/resolv.rb =================================================================== --- ext/dl/win32/lib/win32/resolv.rb (revision 15813) +++ ext/dl/win32/lib/win32/resolv.rb (working copy) @@ -12,5 +12,5 @@ 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
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦