diff options
| -rw-r--r-- | lib/ldap.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/lib/ldap.c b/lib/ldap.c index 223c3fb55..7323788cf 100644 --- a/lib/ldap.c +++ b/lib/ldap.c @@ -164,7 +164,11 @@ static dynafunc DynaGetFunction(const char *name)  #if defined(HAVE_DLOPEN) || defined(HAVE_LIBDL)    if (libldap) { -    func = (dynafunc)dlsym(libldap, name); +    /* This typecast magic below was brought by Joe Halpin. In ISO C, you +     * cannot typecast a data pointer to a function pointer, but that's +     * exactly what we need to do here to avoid compiler warnings on picky +     * compilers! */ +    *(void**) (&func) = dlsym(libldap, name);    }  #elif defined(WIN32)    if (libldap) { | 
