From fab2d704b37f7517a0e1375f70c70259953afba6 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 16 Nov 2009 18:37:12 -0500 Subject: [PATCH] Added module_get_symbol_quiet(). --HG-- branch : HEAD --- src/lib/module-dir.c | 17 ++++++++++------- src/lib/module-dir.h | 1 + 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/lib/module-dir.c b/src/lib/module-dir.c index f1f967c8ec..ffe40a958d 100644 --- a/src/lib/module-dir.c +++ b/src/lib/module-dir.c @@ -19,16 +19,20 @@ # 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) { @@ -37,7 +41,6 @@ void *module_get_symbol(struct module *module, const char *symbol) ret = NULL; } } - return ret; } @@ -66,7 +69,7 @@ const char *module_file_get_name(const char *fname) 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); } diff --git a/src/lib/module-dir.h b/src/lib/module-dir.h index bcf4cf7ddc..6846668b68 100644 --- a/src/lib/module-dir.h +++ b/src/lib/module-dir.h @@ -25,6 +25,7 @@ void module_dir_deinit(struct module *modules); 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); -- 2.47.3