aboutsummaryrefslogtreecommitdiff
path: root/elf/dl-load.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-04-23 22:45:20 +0000
committerUlrich Drepper <drepper@redhat.com>1998-04-23 22:45:20 +0000
commitaf3878dff0963da299b6b54d3a76f9c1a68aac27 (patch)
treedf3f2b6b5641eb41487f03869744c134676177cb /elf/dl-load.c
parentdc9335c14f91623093bf0c7db855e9d1fbc67071 (diff)
downloadglibc-af3878dff0963da299b6b54d3a76f9c1a68aac27.zip
glibc-af3878dff0963da299b6b54d3a76f9c1a68aac27.tar.gz
glibc-af3878dff0963da299b6b54d3a76f9c1a68aac27.tar.bz2
(dlerror): Don't assume that __libc_internal_tsd_get is defined. __libc_getspecific is already well-protected, so just use it directly.
Diffstat (limited to 'elf/dl-load.c')
-rw-r--r--elf/dl-load.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 6433b32..16534f4 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -182,9 +182,13 @@ fillin_rpath (char *rpath, struct r_search_path_elem **result, const char *sep,
struct r_search_path_elem *dirp;
size_t len = strlen (cp);
- /* `strsep' can pass an empty string. */
+ /* `strsep' can pass an empty string. This has to be
+ interpreted as `use the current directory'. */
if (len == 0)
- continue;
+ {
+ static char curwd[2];
+ cp = strcpy (curwd, ".");
+ }
/* Remove trailing slashes. */
while (len > 1 && cp[len - 1] == '/')
@@ -331,8 +335,11 @@ _dl_init_paths (const char *llp)
const char *cp = llp;
nllp = 1;
while (*cp)
- if (*cp++ == ':')
- ++nllp;
+ {
+ if (*cp == ':' || *cp == ';')
+ ++nllp;
+ ++cp;
+ }
}
else
nllp = 0;