diff --git a/ChangeLog b/ChangeLog index 5c98c2bc7a..3c1f2ca09a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Jan 13 02:22:11 2003 WATANABE Hirofumi + + * ext/dl/lib/dl/win32.rb: elimitate unnecessary "A" adding. + Sun Jan 12 16:07:17 2003 WATANABE Hirofumi * io.c (next_argv): inherit binmode from $defout. diff --git a/ext/dl/lib/dl/win32.rb b/ext/dl/lib/dl/win32.rb index f0ea2a91e1..8077656ab3 100644 --- a/ext/dl/lib/dl/win32.rb +++ b/ext/dl/lib/dl/win32.rb @@ -8,15 +8,11 @@ class Win32API def initialize(dllname, func, import, export = "0") prototype = (export + import.to_s).tr("VPpNnLlIi", "0SSI") handle = DLL[dllname] ||= DL::Handle.new(dllname) - begin - @sym = handle.sym(func, prototype) - rescue RuntimeError - @sym = handle.sym(func + "A", prototype) - end + @sym = handle.sym(func, prototype) end def call(*args) - import = @sym.proto[1..-1] || "" + import = @sym.split("", 2)[1] args.each_with_index do |x, i| args[i] = nil if x == 0 and import[i] == ?S args[i], = [x].pack("I").unpack("i") if import[i] == ?I