summaryrefslogtreecommitdiff
path: root/ext/dl/lib
diff options
context:
space:
mode:
authoreban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-01-12 17:36:24 +0000
committereban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-01-12 17:36:24 +0000
commitada8110f7ffd38eb0309b3a9561c1ed993021aca (patch)
tree7f3dfa9e28b79d11a35005ebf56341abcb05c11a /ext/dl/lib
parent0af783bef40c2a9bd652f2aa70c25a878233cc2c (diff)
* ext/dl/lib/dl/win32.rb: elimitate unnecessary "A" adding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/dl/lib')
-rw-r--r--ext/dl/lib/dl/win32.rb8
1 files changed, 2 insertions, 6 deletions
diff --git a/ext/dl/lib/dl/win32.rb b/ext/dl/lib/dl/win32.rb
index f0ea2a91e12..8077656ab3a 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