summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlarryh%netscape.com <devnull@localhost>2000-11-06 23:31:06 +0000
committerlarryh%netscape.com <devnull@localhost>2000-11-06 23:31:06 +0000
commitbaf4cd569a2757e4e7b75537ac228bdb0cf17f14 (patch)
tree13c8456067cfb7009bc810eb6c19340f63b2b098
parentf9b0cec41df6ca62eaf982a8a4adb88a05cd2f8a (diff)
downloadnspr-hg-baf4cd569a2757e4e7b75537ac228bdb0cf17f14.tar.gz
Bugzilla: 53014
-rw-r--r--pr/src/linking/prlink.c16
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;