Mercurial > projects > dwt2
comparison base/src/java/nonstandard/SharedLib.d @ 58:8a5386b204bb
[swt win] fix dll symbol loading
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 28 Mar 2009 02:46:49 +0100 |
parents | 65761bc28ab2 |
children | 9f4c18c268b2 |
comparison
equal
deleted
inserted
replaced
57:e2ca9bdc80f2 | 58:8a5386b204bb |
---|---|
21 struct SharedLib { | 21 struct SharedLib { |
22 static void loadLibSymbols( SymbolVersioned2[] symbols, String libname, int major, int minor ){ | 22 static void loadLibSymbols( SymbolVersioned2[] symbols, String libname, int major, int minor ){ |
23 version(Tango){ | 23 version(Tango){ |
24 if (auto lib = tango.sys.SharedLib.SharedLib.load(libname)) { | 24 if (auto lib = tango.sys.SharedLib.SharedLib.load(libname)) { |
25 foreach( inout s; symbols ){ | 25 foreach( inout s; symbols ){ |
26 if( s.major < major ) continue; | 26 if( s.major > major ) continue; |
27 if( s.major == major && s.minor > minor ) continue; | 27 if( s.major == major && s.minor > minor ) continue; |
28 *s.symbol = lib.getSymbol( tango.stdc.stringz.toStringz(s.name ) ); | 28 *s.symbol = lib.getSymbol( tango.stdc.stringz.toStringz(s.name ) ); |
29 if( s.symbol is null ){ | 29 if( s.symbol is null ){ |
30 getDwtLogger.error( __FILE__, __LINE__, "{}: Symbol '{}' not found", libname, s.name ); | 30 getDwtLogger.error( __FILE__, __LINE__, "{}: Symbol '{}' not found", libname, s.name ); |
31 } | 31 } |