X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=src%2Fcore%2Fplugin.c;h=282a5213a45e98cae33ae3c1fde14484972d972a;hp=b3d5973178dffed19411af5d5acea45a99b718e3;hb=5ef6f70a8eae3e4ee1a839e10b2d2037382463e0;hpb=98211ed75b3ce19225cb6d6628b0abfa669823ac diff --git a/src/core/plugin.c b/src/core/plugin.c index b3d5973..282a521 100644 --- a/src/core/plugin.c +++ b/src/core/plugin.c @@ -689,9 +689,16 @@ sdb_plugin_set_info(sdb_plugin_info_t *info, int type, ...) } /* 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 */ @@ -829,7 +836,9 @@ sdb_plugin_configure(const char *name, oconfig_item_t *ci) 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);