diff options
author | larryh%netscape.com <devnull@localhost> | 2000-11-06 23:31:06 +0000 |
---|---|---|
committer | larryh%netscape.com <devnull@localhost> | 2000-11-06 23:31:06 +0000 |
commit | baf4cd569a2757e4e7b75537ac228bdb0cf17f14 (patch) | |
tree | 13c8456067cfb7009bc810eb6c19340f63b2b098 | |
parent | f9b0cec41df6ca62eaf982a8a4adb88a05cd2f8a (diff) | |
download | nspr-hg-baf4cd569a2757e4e7b75537ac228bdb0cf17f14.tar.gz |
Bugzilla: 53014
-rw-r--r-- | pr/src/linking/prlink.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/pr/src/linking/prlink.c b/pr/src/linking/prlink.c index d302e559..57bc6a43 100644 --- a/pr/src/linking/prlink.c +++ b/pr/src/linking/prlink.c @@ -829,11 +829,17 @@ pr_LoadLibraryByPathname(const char *name, PRIntn flags) cookie = 0; while (get_next_image_info(0, &cookie, &info) == B_OK) { - char *endOfName = info.name + strlen(info.name) - strlen(name); - if (endOfName < info.name) - continue; - - if (strcmp(name, endOfName) == 0) { + char *endOfSystemName = strrchr(info.name, '/'); + char *endOfPassedName = strrchr(name, '/'); + if( 0 == endOfSystemName ) + endOfSystemName=info.name; + else + endOfSystemName++; + if( 0 == endOfPassedName ) + endOfPassedName=name; + else + endOfPassedName++; + if (strcmp(endOfSystemName, endOfPassedName) == 0) { /* this is the actual component - remember it */ h = info.id; break; |