work around dlsym() return value mistyping as suggested in POSIX
authorLennart Poettering <lennart@poettering.net>
Sun, 1 Feb 2009 23:20:57 +0000 (00:20 +0100)
committerLennart Poettering <lennart@poettering.net>
Sun, 1 Feb 2009 23:20:57 +0000 (00:20 +0100)
src/pulsecore/ltdl-helper.c

index 0d4c22f..ed0b63a 100644 (file)
@@ -42,7 +42,9 @@ pa_void_func_t pa_load_sym(lt_dlhandle handle, const char *module, const char *s
     pa_assert(handle);
     pa_assert(symbol);
 
-    if ((f = ((pa_void_func_t) (size_t) lt_dlsym(handle, symbol))))
+    *(void**) &f = lt_dlsym(handle, symbol);
+
+    if (f)
         return f;
 
     if (!module)
@@ -57,7 +59,7 @@ pa_void_func_t pa_load_sym(lt_dlhandle handle, const char *module, const char *s
         if (!isalnum(*c))
             *c = '_';
 
-    f = (pa_void_func_t) (size_t) lt_dlsym(handle, sn);
+    *(void**) &f = lt_dlsym(handle, sn);
     pa_xfree(sn);
 
     return f;