dlsym() resolves the location of the loaded symbol,
therefore dlsym() returns the type (fuse_module_factory_t *), not (fuse_module_factory_t).
Added pinter dereferencing to correctly refer the factory function.
}
sprintf(tmp, "fuse_module_%s_factory", module);
- factory = dlsym(so->handle, tmp);
+ factory = *((fuse_module_factory_t *) dlsym(so->handle, tmp));
if (factory == NULL) {
fprintf(stderr, "fuse: symbol <%s> not found in module: %s\n",
tmp, dlerror());