diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-11-05 17:43:20 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-11-06 10:31:07 +0100 |
commit | 8d2450d8b8f4ac88f6178c7a2bffda9abad606a7 (patch) | |
tree | fea30f9ee884a51f631ae92475dbff32c85a8c5a /src/libstrongswan/plugins/plugin_loader.c | |
parent | 09d0c9030ae92f80a24fd03f81a96887e7a17800 (diff) | |
download | strongswan-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.c | 19 |
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); +} |