diff options
Diffstat (limited to 'ext/win32/lib/win32/resolv.rb')
-rw-r--r-- | ext/win32/lib/win32/resolv.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ext/win32/lib/win32/resolv.rb b/ext/win32/lib/win32/resolv.rb index 183d5d38da..d71ed98f78 100644 --- a/ext/win32/lib/win32/resolv.rb +++ b/ext/win32/lib/win32/resolv.rb @@ -46,6 +46,21 @@ if info.unpack('V5')[4] == 2 # VER_PLATFORM_WIN32_NT # Windows NT #==================================================================== module_eval <<-'__EOS__', __FILE__, __LINE__+1 + module SZ + refine Registry do + # ad hoc workaround for broken registry + def read_s(key) + type, str = read(key) + unless type == Registry::REG_SZ + warn "Broken registry, #{name}\\#{key} was #{Registry.type2name(type)}, ignored" + return String.new + end + str + end + end + end + using SZ + TCPIP_NT = 'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters' class << self |