don't abort if a shared library can't be loaded under OS X, just return an error

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-10-27 13:53:37 +00:00
parent 0f4c414099
commit 48a611cf00

View File

@ -99,22 +99,28 @@ const char *dlerror()
void *dlopen(const char *path, int WXUNUSED(mode) /* mode is ignored */)
{
int dyld_result;
NSObjectFileImage ofile;
NSModule handle = NULL;
dyld_result = NSCreateObjectFileImageFromFile(path, &ofile);
if (dyld_result != NSObjectFileImageSuccess)
int dyld_result = NSCreateObjectFileImageFromFile(path, &ofile);
if ( dyld_result != NSObjectFileImageSuccess )
{
TranslateError(path, dyld_result);
handle = NULL;
}
else
{
// NSLinkModule will cause the run to abort on any link error's
// not very friendly but the error recovery functionality is limited.
handle = NSLinkModule(ofile, path, NSLINKMODULE_OPTION_BINDNOW);
handle = NSLinkModule
(
ofile,
path,
NSLINKMODULE_OPTION_BINDNOW |
NSLINKMODULE_OPTION_RETURN_ON_ERROR
);
}
if ( !handle )
TranslateError(path, dyld_result);
return handle;
}