# define RTLD_NOW 0
#endif
+void *module_get_symbol_quiet(struct module *module, const char *symbol)
+{
+ /* clear out old errors */
+ (void)dlerror();
+
+ return dlsym(module->handle, symbol);
+}
+
void *module_get_symbol(struct module *module, const char *symbol)
{
const char *error;
void *ret;
- /* clear out old errors */
- (void)dlerror();
-
- /* get our init func */
- ret = dlsym(module->handle, symbol);
+ ret = module_get_symbol_quiet(module, symbol);
if (ret == NULL) {
error = dlerror();
if (error != NULL) {
ret = NULL;
}
}
-
return ret;
}
static void *get_symbol(struct module *module, const char *symbol, bool quiet)
{
if (quiet)
- return dlsym(module->handle, symbol);
+ return module_get_symbol_quiet(module, symbol);
return module_get_symbol(module, symbol);
}
void module_dir_unload(struct module **modules);
void *module_get_symbol(struct module *module, const char *symbol);
+void *module_get_symbol_quiet(struct module *module, const char *symbol);
/* Returns module's base name from the filename. */
const char *module_file_get_name(const char *fname);