summaryrefslogtreecommitdiff
path: root/src/mesa/main/dlopen.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-05-13 16:38:58 -0600
committerBrian Paul <brianp@vmware.com>2010-05-14 13:23:41 -0600
commite22e65d2230f8a1ec478147f786899cba14e4d3e (patch)
tree963f57f2c6be47b8e1466be35942bccc085d617b /src/mesa/main/dlopen.c
parentd1f76b1d852863b6802cb1c2676c698881a6246a (diff)
mesa: silence void * / func * conversion warnings
Diffstat (limited to 'src/mesa/main/dlopen.c')
-rw-r--r--src/mesa/main/dlopen.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/mesa/main/dlopen.c b/src/mesa/main/dlopen.c
index 658ac9e40c..57a33292ed 100644
--- a/src/mesa/main/dlopen.c
+++ b/src/mesa/main/dlopen.c
@@ -67,22 +67,27 @@ _mesa_dlopen(const char *libname, int flags)
GenericFunc
_mesa_dlsym(void *handle, const char *fname)
{
+ union {
+ void *v;
+ GenericFunc f;
+ } u;
#if defined(__blrts)
- return (GenericFunc) NULL;
+ u.v = NULL;
#elif defined(__DJGPP__)
/* need '_' prefix on symbol names */
char fname2[1000];
fname2[0] = '_';
strncpy(fname2 + 1, fname, 998);
fname2[999] = 0;
- return (GenericFunc) dlsym(handle, fname2);
+ u.v = dlsym(handle, fname2);
#elif defined(_GNU_SOURCE)
- return (GenericFunc) dlsym(handle, fname);
+ u.v = dlsym(handle, fname);
#elif defined(__MINGW32__)
- return (GenericFunc) GetProcAddress(handle, fname);
+ u.v = (void *) GetProcAddress(handle, fname);
#else
- return (GenericFunc) NULL;
+ u.v = NULL;
#endif
+ return u.f;
}