]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Added module_get_symbol_quiet().
authorTimo Sirainen <tss@iki.fi>
Mon, 16 Nov 2009 23:37:12 +0000 (18:37 -0500)
committerTimo Sirainen <tss@iki.fi>
Mon, 16 Nov 2009 23:37:12 +0000 (18:37 -0500)
--HG--
branch : HEAD

src/lib/module-dir.c
src/lib/module-dir.h

index f1f967c8ec3ab395b9648984605c552cd1ca3542..ffe40a958d4f9693529be9d7b4c7ffa1cbcf19c8 100644 (file)
 #  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);
 }
index bcf4cf7ddc0758be1f78e77620bf4337aa859078..6846668b68bc1703860fb7a9106a0ca572a970ad 100644 (file)
@@ -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);