summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <waker@users.sourceforge.net>2014-07-07 09:03:50 +0200
committerGravatar Alexey Yakovenko <waker@users.sourceforge.net>2014-07-07 09:03:50 +0200
commitd5f0eb59b9f4ecfecdf42f407c2cc6742fa6bfdd (patch)
tree7171dfea65be54a11feabcdbf76c799e5f0b4317
parent3284f065e75bc411d605d71c0d4cc0ad3b9e6a68 (diff)
only compare plugin names if ID of one or both plugins NULL
-rw-r--r--plugins.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins.c b/plugins.c
index 7707f9a3..bf8192cb 100644
--- a/plugins.c
+++ b/plugins.c
@@ -508,7 +508,7 @@ plug_init_plugin (DB_plugin_t* (*loadfunc)(DB_functions_t *), void *handle) {
plugin_t *prev = NULL;
for (plugin_t *p = plugins; p; prev = p, p = p->next) {
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);
+ int same_name = (!p->plugin->id || !plugin_api->id) && 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\" (%s), replacing\n", plugin_api->id, plugin_api->name);