diff options
-rw-r--r-- | ext/win32/lib/win32/resolv.rb | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/ext/win32/lib/win32/resolv.rb b/ext/win32/lib/win32/resolv.rb index 2e724e3257..8dc9e0d88b 100644 --- a/ext/win32/lib/win32/resolv.rb +++ b/ext/win32/lib/win32/resolv.rb @@ -35,14 +35,16 @@ module Win32 end end -kernel32 = Module.new do +nt = Module.new do + break true if [nil].pack("p").size > 4 extend Importer dlload "kernel32" + getv = extern "int GetVersionExA(void *)", :stdcall + info = [ 148, 0, 0, 0, 0 ].pack('V5') + "\0" * 128 + getv.call(info) + break info.unpack('V5')[4] == 2 # VER_PLATFORM_WIN32_NT end -getv = kernel32.extern "int GetVersionExA(void *)", :stdcall -info = [ 148, 0, 0, 0, 0 ].pack('V5') + "\0" * 128 -getv.call(info) -if info.unpack('V5')[4] == 2 # VER_PLATFORM_WIN32_NT +if nt #==================================================================== # Windows NT #==================================================================== |