summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbeard%netscape.com <devnull@localhost>2001-07-19 19:32:34 +0000
committerbeard%netscape.com <devnull@localhost>2001-07-19 19:32:34 +0000
commit277d0f28df9a02efd24a213cedcb1da6c31142ab (patch)
tree426b24d97794ff2bbe952b4718f9ad0fc3fc829f
parent6fe3e4f7f8ae0dd9c7f86009a45031ef764d413c (diff)
downloadnspr-hg-MOZILLA_0_9_2_BRANCH.tar.gz
-rw-r--r--pr/src/linking/prlink.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/pr/src/linking/prlink.c b/pr/src/linking/prlink.c
index 51979241..99e5d886 100644
--- a/pr/src/linking/prlink.c
+++ b/pr/src/linking/prlink.c
@@ -101,6 +101,8 @@ struct PRLibrary {
#if TARGET_CARBON
CFBundleRef bundle;
#endif
+
+ Ptr main;
#endif
#ifdef XP_UNIX
@@ -589,7 +591,6 @@ pr_LoadLibraryByPathname(const char *name, PRIntn flags)
#if defined(XP_MAC) && TARGET_RT_MAC_CFM
{
OSErr err;
- Ptr main;
CFragConnectionID connectionID;
Str255 errName;
Str255 pName;
@@ -636,10 +637,10 @@ pr_LoadLibraryByPathname(const char *name, PRIntn flags)
* plugins, but those should go in the Extensions folder anyhow.
*/
#if 0
- err = NSGetSharedLibrary(pName, &connectionID, &main);
+ err = NSGetSharedLibrary(pName, &connectionID, &lm->main);
#else
err = GetSharedLibrary(pName, kCompiledCFragArch, kReferenceCFrag,
- &connectionID, &main, errName);
+ &connectionID, &lm->main, errName);
#endif
if (err != noErr)
{
@@ -687,7 +688,7 @@ pr_LoadLibraryByPathname(const char *name, PRIntn flags)
/* Finally, try to load the library */
err = GetDiskFragment(&fileSpec, 0, kCFragGoesToEOF, fileSpec.name,
- kLoadCFrag, &connectionID, &main, errName);
+ kLoadCFrag, &connectionID, &lm->main, errName);
memcpy(cName, fileSpec.name + 1, fileSpec.name[0]);
cName[fileSpec.name[0]] = '\0';
@@ -1177,6 +1178,8 @@ pr_FindSymbolInLib(PRLibrary *lm, const char *name)
PStrFromCStr(name, pName);
f = (NSFindSymbol(lm->dlh, pName, &symAddr, &symClass) == noErr) ? symAddr : NULL;
+
+ if (f == NULL && strcmp(name, "main") == 0) f = lm->main;
}
#endif /* XP_MAC */