Let dlfcn.h return a function pointer on Windows
authorAsanka Herath <asanka@secure-endpoints.com>
Thu, 3 Jun 2010 01:24:40 +0000 (21:24 -0400)
committerAsanka Herath <asanka@secure-endpoints.com>
Fri, 20 Aug 2010 17:03:38 +0000 (13:03 -0400)
lib/roken/dlfcn.h
lib/roken/dlfcn_w32.c

index d0972573d8081eedae3d10d8b7e5b4c7969ce0c8..bca8cb0544f85b6609980273cb5b7f02a26054a9 100644 (file)
 #endif
 #endif
 
+#ifdef _WIN32
+typedef int (__stdcall *DLSYM_RET_TYPE)();
+#else
 #define DLSYM_RET_TYPE void *
+#endif
 
 #ifdef __cplusplus
 extern "C" 
index 713887330364d87efd9bd16a31453e3e63082061..08005f70cc0671dc52c3aed52ae282c15c07ddbc 100644 (file)
@@ -91,6 +91,6 @@ dlsym(void * vhm, const char * func_name)
 {
     HMODULE hm = (HMODULE) vhm;
 
-    return GetProcAddress(hm, func_name);
+    return (DLSYM_RET_TYPE)(ULONG_PTR)GetProcAddress(hm, func_name);
 }