- || ! (interface->init = dlsym (interface->handle, "device_init"))
- || ! (interface->open = dlsym (interface->handle, "device_open"))
- || ! (interface->fini = dlsym (interface->handle, "device_fini"))
+ || ! (*(void **) (&interface->init)
+ = dlsym (interface->handle, "device_init"))
+ || ! (*(void **) (&interface->open)
+ = dlsym (interface->handle, "device_open"))
+ || ! (*(void **) (&interface->fini)
+ = dlsym (interface->handle, "device_fini"))