dovecot-2.2: liblib: Added module_dir_find()

dovecot at dovecot.org dovecot at dovecot.org
Tue Nov 27 00:44:46 EET 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/8f0994194f45
changeset: 15415:8f0994194f45
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Nov 27 00:31:40 2012 +0200
description:
liblib: Added module_dir_find()

diffstat:

 src/lib/module-dir.c |  11 ++++++++---
 src/lib/module-dir.h |   2 ++
 2 files changed, 10 insertions(+), 3 deletions(-)

diffs (42 lines):

diff -r 9c22246ed431 -r 8f0994194f45 src/lib/module-dir.c
--- a/src/lib/module-dir.c	Mon Nov 26 23:24:48 2012 +0200
+++ b/src/lib/module-dir.c	Tue Nov 27 00:31:40 2012 +0200
@@ -315,7 +315,7 @@
 	}
 }
 
-static bool module_is_loaded(struct module *modules, const char *name)
+struct module *module_dir_find(struct module *modules, const char *name)
 {
 	struct module *module;
 	unsigned int len = strlen(name);
@@ -324,10 +324,15 @@
 		if (strncmp(module->name, name, len) == 0) {
 			if (module->name[len] == '\0' ||
 			    strcmp(module->name + len, "_plugin") == 0)
-				return TRUE;
+				return module;
 		}
 	}
-	return FALSE;
+	return NULL;
+}
+
+static bool module_is_loaded(struct module *modules, const char *name)
+{
+	return module_dir_find(modules, name) != NULL;
 }
 
 static void module_names_fix(const char **module_names)
diff -r 9c22246ed431 -r 8f0994194f45 src/lib/module-dir.h
--- a/src/lib/module-dir.h	Mon Nov 26 23:24:48 2012 +0200
+++ b/src/lib/module-dir.h	Tue Nov 27 00:31:40 2012 +0200
@@ -57,6 +57,8 @@
 void module_dir_deinit(struct module *modules);
 /* Unload all modules */
 void module_dir_unload(struct module **modules);
+/* Find a module by name. */
+struct module *module_dir_find(struct module *modules, const char *name);
 
 void *module_get_symbol(struct module *module, const char *symbol);
 void *module_get_symbol_quiet(struct module *module, const char *symbol);


More information about the dovecot-cvs mailing list