aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2003-09-20 01:08:08 +0000
committerMax Horn2003-09-20 01:08:08 +0000
commitbfbc6ed39ad3ea9b096ff6212b088a44284209bc (patch)
tree32b4875ea4499aba2419c1ad02e7a3df27375ab5
parent7d95a33922e3bf5bff8b5e5a93e8a5b35b970ef4 (diff)
downloadscummvm-rg350-bfbc6ed39ad3ea9b096ff6212b088a44284209bc.tar.gz
scummvm-rg350-bfbc6ed39ad3ea9b096ff6212b088a44284209bc.tar.bz2
scummvm-rg350-bfbc6ed39ad3ea9b096ff6212b088a44284209bc.zip
prepend underscore before passing symbols to dlsym, at least on OS X
svn-id: r10328
-rw-r--r--base/plugins.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/base/plugins.cpp b/base/plugins.cpp
index 6b70b77393..a8fb07d893 100644
--- a/base/plugins.cpp
+++ b/base/plugins.cpp
@@ -155,6 +155,13 @@ public:
void *DynamicPlugin::findSymbol(const char *symbol) {
#ifdef UNIX
+#ifdef MACOSX
+ // Need to prepend underscore on Mac OS X
+ char buffer[256];
+ buffer[0] = '_';
+ strcpy(buffer + 1, symbol);
+ symbol = buffer;
+#endif
void *func = dlsym(_dlHandle, symbol);
if (!func)
warning("Failed loading symbold '%s' from plugin '%s' (%s)", symbol, _filename.c_str(), dlerror());