diff options
author | sdagley%netscape.com <devnull@localhost> | 1999-02-18 00:10:46 +0000 |
---|---|---|
committer | sdagley%netscape.com <devnull@localhost> | 1999-02-18 00:10:46 +0000 |
commit | 00a76ddbb300c67c7add763e4585b6675b245aef (patch) | |
tree | c888a7bec3841048f06dc59338a6010ab827792c | |
parent | 4738dfd19771f87985fb6ad094f8b19785a3ad4b (diff) | |
download | nspr-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.c | 7 |
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); |