aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/plugin_feature.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-07-12 16:52:01 +0200
committerTobias Brunner <tobias@strongswan.org>2012-07-12 16:54:03 +0200
commitd15975c7f211614f1582e15bca3c1fcb746ea76a (patch)
tree7d583beb8fffaead30e6cd6929b9b0132cfd72ed /src/libstrongswan/plugins/plugin_feature.c
parentc0b1fc7f8b6ad7b358104985c8797914725ddeec (diff)
downloadstrongswan-d15975c7f211614f1582e15bca3c1fcb746ea76a.tar.bz2
strongswan-d15975c7f211614f1582e15bca3c1fcb746ea76a.tar.xz
Added PLUGIN_NOOP to separate PLUGIN_PROVIDE from previous CALLBACK/REGISTER entries
Diffstat (limited to 'src/libstrongswan/plugins/plugin_feature.c')
-rw-r--r--src/libstrongswan/plugins/plugin_feature.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libstrongswan/plugins/plugin_feature.c b/src/libstrongswan/plugins/plugin_feature.c
index eed3a31b8..6e043878c 100644
--- a/src/libstrongswan/plugins/plugin_feature.c
+++ b/src/libstrongswan/plugins/plugin_feature.c
@@ -326,7 +326,8 @@ bool plugin_feature_load(plugin_t *plugin, plugin_feature_t *feature,
}
if (reg->kind == FEATURE_CALLBACK)
{
- if (reg->arg.cb.f(plugin, feature, TRUE, reg->arg.cb.data))
+ if (!reg->arg.cb.f ||
+ reg->arg.cb.f(plugin, feature, TRUE, reg->arg.cb.data))
{
return TRUE;
}
@@ -409,7 +410,8 @@ bool plugin_feature_unload(plugin_t *plugin, plugin_feature_t *feature,
}
if (reg->kind == FEATURE_CALLBACK)
{
- if (reg->arg.cb.f(plugin, feature, FALSE, reg->arg.cb.data))
+ if (!reg->arg.cb.f ||
+ reg->arg.cb.f(plugin, feature, FALSE, reg->arg.cb.data))
{
return TRUE;
}