aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/plugin_loader.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2013-11-05 17:43:20 +0100
committerMartin Willi <martin@revosec.ch>2013-11-06 10:31:07 +0100
commit8d2450d8b8f4ac88f6178c7a2bffda9abad606a7 (patch)
treefea30f9ee884a51f631ae92475dbff32c85a8c5a /src/libstrongswan/plugins/plugin_loader.c
parent09d0c9030ae92f80a24fd03f81a96887e7a17800 (diff)
downloadstrongswan-8d2450d8b8f4ac88f6178c7a2bffda9abad606a7.tar.bz2
strongswan-8d2450d8b8f4ac88f6178c7a2bffda9abad606a7.tar.xz
plugin-loader: Convenience function added to add plugin dirs in build tree
Diffstat (limited to 'src/libstrongswan/plugins/plugin_loader.c')
-rw-r--r--src/libstrongswan/plugins/plugin_loader.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/plugin_loader.c b/src/libstrongswan/plugins/plugin_loader.c
index 5ed0a9b0f..c9043239b 100644
--- a/src/libstrongswan/plugins/plugin_loader.c
+++ b/src/libstrongswan/plugins/plugin_loader.c
@@ -1170,3 +1170,22 @@ plugin_loader_t *plugin_loader_create()
return &this->public;
}
+
+/*
+ * See header
+ */
+void plugin_loader_add_plugindirs(char *basedir, char *plugins)
+{
+ enumerator_t *enumerator;
+ char *name, path[PATH_MAX], dir[64];
+
+ enumerator = enumerator_create_token(plugins, " ", "");
+ while (enumerator->enumerate(enumerator, &name))
+ {
+ snprintf(dir, sizeof(dir), "%s", name);
+ translate(dir, "-", "_");
+ snprintf(path, sizeof(path), "%s/%s/.libs", basedir, dir);
+ lib->plugins->add_path(lib->plugins, path);
+ }
+ enumerator->destroy(enumerator);
+}