Handle OSX ".dynlib" DSO extension.
This commit is contained in:
@@ -351,6 +351,15 @@ static char *dlfcn_merger(DSO *dso, const char *filespec1,
|
|||||||
return(merged);
|
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)
|
static char *dlfcn_name_converter(DSO *dso, const char *filename)
|
||||||
{
|
{
|
||||||
char *translated;
|
char *translated;
|
||||||
@@ -361,8 +370,8 @@ static char *dlfcn_name_converter(DSO *dso, const char *filename)
|
|||||||
transform = (strstr(filename, "/") == NULL);
|
transform = (strstr(filename, "/") == NULL);
|
||||||
if(transform)
|
if(transform)
|
||||||
{
|
{
|
||||||
/* We will convert this to "%s.so" or "lib%s.so" */
|
/* We will convert this to "%s.so" or "lib%s.so" etc */
|
||||||
rsize += 3; /* The length of ".so" */
|
rsize += DSO_extlen; /* The length of ".so" */
|
||||||
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
|
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
|
||||||
rsize += 3; /* The length of "lib" */
|
rsize += 3; /* The length of "lib" */
|
||||||
}
|
}
|
||||||
@@ -376,9 +385,9 @@ static char *dlfcn_name_converter(DSO *dso, const char *filename)
|
|||||||
if(transform)
|
if(transform)
|
||||||
{
|
{
|
||||||
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
|
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
|
else
|
||||||
sprintf(translated, "%s.so", filename);
|
sprintf(translated, "%s" DSO_ext, filename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
sprintf(translated, "%s", filename);
|
sprintf(translated, "%s", filename);
|
||||||
|
|||||||
Reference in New Issue
Block a user