summaryrefslogtreecommitdiff
path: root/ext/win32
diff options
context:
space:
mode:
Diffstat (limited to 'ext/win32')
-rw-r--r--ext/win32/lib/win32/resolv.rb12
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
#====================================================================