st/mesa: bind NULL colorbuffers as specified by glDrawBuffers
[mesa.git] / src / gallium / auxiliary / util / u_dl.c
index b42b429d4d724913c7f6e032e9ecf9f67bd2aa5f..aca435d6cad960f507a9124805587a8ab10ae89e 100644 (file)
@@ -28,6 +28,7 @@
 
 
 #include "pipe/p_config.h"
+#include "pipe/p_compiler.h"
 
 #if defined(PIPE_OS_UNIX)
 #include <dlfcn.h>
@@ -37,6 +38,7 @@
 #endif
 
 #include "u_dl.h"
+#include "u_pointer.h"
 
 
 struct util_dl_library *
@@ -57,7 +59,7 @@ util_dl_get_proc_address(struct util_dl_library *library,
                          const char *procname)
 {
 #if defined(PIPE_OS_UNIX)
-   return (util_dl_proc)dlsym((void *)library, procname);
+   return (util_dl_proc) pointer_to_func(dlsym((void *)library, procname));
 #elif defined(PIPE_OS_WINDOWS)
    return (util_dl_proc)GetProcAddress((HMODULE)library, procname);
 #else
@@ -77,3 +79,16 @@ util_dl_close(struct util_dl_library *library)
    (void)library;
 #endif
 }
+
+
+const char *
+util_dl_error(void)
+{
+#if defined(PIPE_OS_UNIX)
+   return dlerror();
+#elif defined(PIPE_OS_WINDOWS)
+   return "unknown error";
+#else
+   return "unknown error";
+#endif
+}