mirror of
https://github.com/samba-team/samba.git
synced 2024-12-31 17:18:04 +03:00
Wrap native HPUX functions in dl implementation.
git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25859 0c0555d6-39d7-0310-84fc-f1cc0bd64818
This commit is contained in:
parent
9f862e9faf
commit
0ec1672929
@ -23,6 +23,9 @@
|
||||
*/
|
||||
|
||||
#include "replace.h"
|
||||
#ifdef HAVE_DL_H
|
||||
#include <dl.h>
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DLOPEN
|
||||
#ifdef DLOPEN_TAKES_UNSIGNED_FLAGS
|
||||
@ -31,13 +34,22 @@ void *rep_dlopen(const char *name, unsigned int flags)
|
||||
void *rep_dlopen(const char *name, int flags)
|
||||
#endif
|
||||
{
|
||||
#ifdef HAVE_SHL_LOAD
|
||||
return (void *)shl_load(name, flags, 0);
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DLSYM
|
||||
void *rep_dlsym(void *handle, const char *symbol)
|
||||
{
|
||||
#ifdef HAVE_SHL_FINDSYM
|
||||
void *sym_addr;
|
||||
if (!shl_findsym((shl_t *)&handle, symbol, TYPE_UNDEFINED, &sym_addr))
|
||||
return sym_addr;
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
@ -52,6 +64,10 @@ char *rep_dlerror(void)
|
||||
#ifndef HAVE_DLCLOSE
|
||||
int rep_dlclose(void *handle)
|
||||
{
|
||||
#ifdef HAVE_SHL_CLOSE
|
||||
return shl_unload((shl_t)handle);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user