]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dynlib.cpp
fix VC 7.x release build problems
[wxWidgets.git] / src / common / dynlib.cpp
index 558b579e0c53694b17f31fb36fed426d339c9b18..90945e8caed7fbf106088b6577e73064cec2245f 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     20/07/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Guilhem Lavaux
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -310,12 +310,8 @@ void *wxDllLoader::GetSymbol(wxDllType dllHandle, const wxString &name, bool *su
     CFragSymbolClass    symClass;
     Str255              symName;
 
-#if TARGET_CARBON
-    c2pstrcpy( (StringPtr) symName, name );
-#else
-    strcpy( (char *) symName, name );
-    c2pstr( (char *) symName );
-#endif
+       wxMacStringToPascal( name.c_str() , symName ) ;
+
     if( FindSymbol( ((CFragConnectionID)dllHandle), symName, &symAddress, &symClass ) == noErr )
         symbol = (void *)symAddress;
 
@@ -484,15 +480,19 @@ int dlclose(void *handle)
     return 0;
 }
 
-void *dlsym(void *WXUNUSED(handle), const char *symbol)
+void *dlsym(void *handle, const char *symbol)
 {
     void *addr;
+    
+    NSSymbol nsSymbol = NSLookupSymbolInModule( handle , symbol ) ;
 
-    if (NSIsSymbolNameDefined(symbol)) {
-       addr = NSAddressOfSymbol(NSLookupAndBindSymbol(symbol));
+    if ( nsSymbol) 
+    {
+           addr = NSAddressOfSymbol(nsSymbol);
     }
-    else {
-       addr = NULL;
+    else 
+    {
+           addr = NULL;
     }
     return addr;
 }