diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/dl/win32/lib/Win32API.rb | 2 |
2 files changed, 7 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Fri Feb 13 23:37:10 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/dl/win32/lib/Win32API.rb (Win32API#initialize): DL.dlopen + raises DLError. + Fri Feb 13 21:13:19 2009 Tanaka Akira <akr@fsij.org> * ext/socket/socket.c (Init_socket): define TCPServer#listen and diff --git a/ext/dl/win32/lib/Win32API.rb b/ext/dl/win32/lib/Win32API.rb index b642e0c8fe..97f6c5135b 100644 --- a/ext/dl/win32/lib/Win32API.rb +++ b/ext/dl/win32/lib/Win32API.rb @@ -12,6 +12,8 @@ class Win32API @proto = [import].join.tr("VPpNnLlIi", "0SSI").sub(/^(.)0*$/, '\1') handle = DLL[dllname] ||= DL.dlopen(dllname) @func = DL::CFunc.new(handle[func], TYPEMAP[export.tr("VPpNnLlIi", "0SSI")], func) + rescue DL::DLError => e + raise LoadError, e.message, e.backtrace end def call(*args) |