summaryrefslogtreecommitdiffstats
path: root/crypto/dso
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2009-07-15 18:00:04 +0000
committerDr. Stephen Henson <steve@openssl.org>2009-07-15 18:00:04 +0000
commit4a620922e243fae11fe3702c4183a80592b03701 (patch)
treeece444a0085f525177de4dc328f1ead0a19ca822 /crypto/dso
parent4b06d778ad71fc3f7bde0e607e865e7c5e07fafc (diff)
Updates from 1.0.0-stable
Diffstat (limited to 'crypto/dso')
-rw-r--r--crypto/dso/dso_dlfcn.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/crypto/dso/dso_dlfcn.c b/crypto/dso/dso_dlfcn.c
index 168c25b9e8..06953f3bd5 100644
--- a/crypto/dso/dso_dlfcn.c
+++ b/crypto/dso/dso_dlfcn.c
@@ -351,6 +351,15 @@ static char *dlfcn_merger(DSO *dso, const char *filespec1,
return(merged);
}
+#ifdef OPENSSL_SYS_MAC
+#define DSO_ext ".dynlib"
+#define DSO_extlen 7
+#else
+#define DSO_ext ".so"
+#define DSO_extlen 3
+#endif
+
+
static char *dlfcn_name_converter(DSO *dso, const char *filename)
{
char *translated;
@@ -361,8 +370,8 @@ static char *dlfcn_name_converter(DSO *dso, const char *filename)
transform = (strstr(filename, "/") == NULL);
if(transform)
{
- /* We will convert this to "%s.so" or "lib%s.so" */
- rsize += 3; /* The length of ".so" */
+ /* We will convert this to "%s.so" or "lib%s.so" etc */
+ rsize += DSO_extlen; /* The length of ".so" */
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
rsize += 3; /* The length of "lib" */
}
@@ -376,9 +385,9 @@ static char *dlfcn_name_converter(DSO *dso, const char *filename)
if(transform)
{
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
- sprintf(translated, "lib%s.so", filename);
+ sprintf(translated, "lib%s" DSO_ext, filename);
else
- sprintf(translated, "%s.so", filename);
+ sprintf(translated, "%s" DSO_ext, filename);
}
else
sprintf(translated, "%s", filename);