summaryrefslogtreecommitdiff
path: root/plugins.c
diff options
context:
space:
mode:
authorGravatar Lithopsian <deadbeef@nartowicz.co.uk>2014-07-06 17:04:02 +0100
committerGravatar Lithopsian <deadbeef@nartowicz.co.uk>2014-07-06 17:04:02 +0100
commit3c8b29056cb4e68067f475ee6653640b199087df (patch)
treeaa9e019475dc3e5183c4c8440ea7c0d8c91ee001 /plugins.c
parent6cd87a40c3a3da1ff8ecdc0f8b980cec38de84aa (diff)
parentd012d39f4d256d43cd5e2d95a96f4868fbedd464 (diff)
Merge pull request #8 from Alexey-Yakovenko/master
Resync
Diffstat (limited to 'plugins.c')
-rw-r--r--plugins.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/plugins.c b/plugins.c
index 804062df..7707f9a3 100644
--- a/plugins.c
+++ b/plugins.c
@@ -507,9 +507,11 @@ plug_init_plugin (DB_plugin_t* (*loadfunc)(DB_functions_t *), void *handle) {
// check if same plugin with the same or bigger version is loaded already
plugin_t *prev = NULL;
for (plugin_t *p = plugins; p; prev = p, p = p->next) {
- if (p->plugin->id && plugin_api->id && !strcmp (p->plugin->id, plugin_api->id)) {
+ int same_id = p->plugin->id && plugin_api->id && !strcmp (p->plugin->id, plugin_api->id);
+ int same_name = p->plugin->name && plugin_api->name && !strcmp (p->plugin->name, plugin_api->name);
+ if (same_id || same_name) {
if (plugin_api->version_major > p->plugin->version_major || (plugin_api->version_major == p->plugin->version_major && plugin_api->version_minor > p->plugin->version_minor)) {
- trace ("found newer version of plugin \"%s\", replacing\n", plugin_api->id);
+ trace ("found newer version of plugin \"%s\" (%s), replacing\n", plugin_api->id, plugin_api->name);
// unload older plugin before replacing
dlclose (p->handle);
if (prev) {
@@ -524,7 +526,7 @@ plug_init_plugin (DB_plugin_t* (*loadfunc)(DB_functions_t *), void *handle) {
free (p);
}
else {
- trace ("found copy of plugin \"%s\", but newer version is already loaded\n", plugin_api->id)
+ trace ("found copy of plugin \"%s\" (%s), but newer version is already loaded\n", plugin_api->id, plugin_api->name)
return -1;
}
}