summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsdagley%netscape.com <devnull@localhost>1999-02-18 00:10:46 +0000
committersdagley%netscape.com <devnull@localhost>1999-02-18 00:10:46 +0000
commit00a76ddbb300c67c7add763e4585b6675b245aef (patch)
treec888a7bec3841048f06dc59338a6010ab827792c
parent4738dfd19771f87985fb6ad094f8b19785a3ad4b (diff)
downloadnspr-hg-00a76ddbb300c67c7add763e4585b6675b245aef.tar.gz
Mac specific fix. Checking in rjc's fix to load libraries if file spec was an alias to a library rather than the actual library file spec. Needed so XPCOM will work on Mac.
-rw-r--r--pr/src/linking/prlink.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/pr/src/linking/prlink.c b/pr/src/linking/prlink.c
index e21ce4ff..fa84a0fd 100644
--- a/pr/src/linking/prlink.c
+++ b/pr/src/linking/prlink.c
@@ -596,6 +596,8 @@ PR_LoadLibrary(const char *name)
FSSpec fileSpec;
PRUint32 index;
+ Boolean tempUnusedBool; // rjc
+
/* Copy the name: we'll change it */
cMacPath = strdup(name);
if (cMacPath == NULL)
@@ -646,6 +648,11 @@ PR_LoadLibrary(const char *name)
goto unlock;
fileSpec.parID = pb.dirInfo.ioDrDirID;
+ // resolve an alias if this was one (rjc)
+ err = ResolveAliasFile(&fileSpec, true, &tempUnusedBool, &tempUnusedBool);
+ if (err != noErr)
+ goto unlock;
+
/* Finally, try to load the library */
err = GetDiskFragment(&fileSpec, 0, kCFragGoesToEOF, fileSpec.name,
kLoadCFrag, &connectionID, &main, errName);