diff --git a/src/core/plugin.c b/src/core/plugin.c
index b3d5973178dffed19411af5d5acea45a99b718e3..282a5213a45e98cae33ae3c1fde14484972d972a 100644 (file)
--- a/src/core/plugin.c
+++ b/src/core/plugin.c
} /* sdb_plugin_set_info */
int
-sdb_plugin_register_config(const char *name, sdb_plugin_config_cb callback)
+sdb_plugin_register_config(sdb_plugin_config_cb callback)
{
- return plugin_add_callback(&config_list, "init", name,
+ ctx_t *ctx = ctx_get();
+
+ if (! ctx) {
+ sdb_log(SDB_LOG_ERR, "core: Invalid attempt to register a "
+ "config callback from outside a plugin");
+ return -1;
+ }
+ return plugin_add_callback(&config_list, "init", ctx->info.plugin_name,
(void *)callback, NULL);
} /* sdb_plugin_register_config */
if (! plugin) {
ctx_t *ctx = CTX(sdb_llist_search_by_name(all_plugins, name));
if (! ctx)
- sdb_log(SDB_LOG_ERR, "core: Plugin '%s' not loaded.", name);
+ sdb_log(SDB_LOG_ERR, "core: Cannot configure unknown "
+ "plugin '%s'. Missing 'LoadPlugin \"%s\"'?",
+ name, name);
else
sdb_log(SDB_LOG_ERR, "core: Plugin '%s' did not register "
"a config callback.", name);