From 6bdcfecbcf587e8ac39d9f6e51b81dcdb361f977 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Wed, 5 May 2004 14:08:52 +0000
Subject: [PATCH] Joe Halpin fixed the warning on the typecast from data
 pointer to function pointer!

---
 lib/ldap.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/ldap.c b/lib/ldap.c
index 223c3fb556..7323788cf6 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) {
-- 
GitLab