projects
/
oweals
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Eliminate dependency on UNICODE macro.
[oweals/openssl.git]
/
crypto
/
dso
/
dso_dlfcn.c
diff --git
a/crypto/dso/dso_dlfcn.c
b/crypto/dso/dso_dlfcn.c
index 259aee83e7581d78e20ef6f9c8492d2a589370c4..1fd10104c521ccbf29a798091faa078f0e1c81aa 100644
(file)
--- a/
crypto/dso/dso_dlfcn.c
+++ b/
crypto/dso/dso_dlfcn.c
@@
-128,7
+128,11
@@
DSO_METHOD *DSO_METHOD_dlfcn(void)
# endif
# endif
#else
# endif
# endif
#else
-# define DLOPEN_FLAG RTLD_NOW /* Hope this works everywhere else */
+# ifdef OPENSSL_SYS_SUNOS
+# define DLOPEN_FLAG 1
+# else
+# define DLOPEN_FLAG RTLD_NOW /* Hope this works everywhere else */
+# endif
#endif
/* For this DSO_METHOD, our meth_data STACK will contain;
#endif
/* For this DSO_METHOD, our meth_data STACK will contain;
@@
-233,7
+237,7
@@
static void *dlfcn_bind_var(DSO *dso, const char *symname)
static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
{
void *ptr;
static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
{
void *ptr;
- DSO_FUNC_TYPE sym;
+ DSO_FUNC_TYPE sym
, *tsym = &sym
;
if((dso == NULL) || (symname == NULL))
{
if((dso == NULL) || (symname == NULL))
{
@@
-251,7
+255,7
@@
static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_NULL_HANDLE);
return(NULL);
}
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_NULL_HANDLE);
return(NULL);
}
-
sym = (DSO_FUNC_TYPE)
dlsym(ptr, symname);
+
*(void **)(tsym) =
dlsym(ptr, symname);
if(sym == NULL)
{
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_SYM_FAILURE);
if(sym == NULL)
{
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_SYM_FAILURE);