summaryrefslogtreecommitdiffstats
path: root/src/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/module.c')
-rw-r--r--src/module.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/module.c b/src/module.c
index 7f2bc218..0be7f5ed 100644
--- a/src/module.c
+++ b/src/module.c
@@ -6,6 +6,7 @@
#include <errno.h>
#include "module.h"
+#include "strbuf.h"
struct module* module_load(struct core *c, const char *name, const char *argument) {
struct module *m = NULL;
@@ -110,3 +111,19 @@ void module_unload_all(struct core *c) {
c->modules = NULL;
}
+char *module_list_to_string(struct core *c) {
+ struct strbuf *s;
+ struct module *m;
+ uint32_t index = IDXSET_INVALID;
+ assert(c);
+
+ s = strbuf_new();
+ assert(s);
+
+ strbuf_printf(s, "%u module(s) loaded.\n", idxset_ncontents(c->modules));
+
+ for (m = idxset_first(c->modules, &index); m; m = idxset_next(c->modules, &index))
+ strbuf_printf(s, " index: %u, name: <%s>, argument: <%s>\n", m->index, m->name, m->argument);
+
+ return strbuf_tostring_free(s);
+}