summaryrefslogtreecommitdiff
path: root/lib/library.c
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2014-10-25 16:39:39 +0300
committerJari Vetoniemi <mailroxas@gmail.com>2014-10-25 16:39:39 +0300
commitb03cd1ea5329a0e7e2e435de827108c7d00265b5 (patch)
treedeb501d382434c7ac556e3fc125f4ea730ca8a44 /lib/library.c
parent92b9044da84f524dcbfae7eef4092b6240986a27 (diff)
downloadbemenu-b03cd1ea5329a0e7e2e435de827108c7d00265b5.tar.gz
bemenu-b03cd1ea5329a0e7e2e435de827108c7d00265b5.tar.bz2
bemenu-b03cd1ea5329a0e7e2e435de827108c7d00265b5.zip
Use BM_PLUGIN_VERSION for renderers.
Diffstat (limited to 'lib/library.c')
-rw-r--r--lib/library.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/library.c b/lib/library.c
index c7f5e60..7fca099 100644
--- a/lib/library.c
+++ b/lib/library.c
@@ -34,24 +34,28 @@ load(const char *file, struct bm_renderer *renderer)
const char* (*regfun)(struct render_api*);
if (!(regfun = chckDlLoadSymbol(handle, "register_renderer", &error)))
- goto fail;
+ goto load_fail;
const char *name;
if (!(name = regfun(&renderer->api)))
goto fail;
- if (strcmp(renderer->api.version, BM_VERSION))
- goto fail;
+ if (strcmp(renderer->api.version, BM_PLUGIN_VERSION))
+ goto mismatch_fail;
renderer->handle = handle;
renderer->name = bm_strdup(name);
renderer->file = bm_strdup(file);
return true;
+load_fail:
+ fprintf(stderr, "%s\n", error);
+ goto fail;
+mismatch_fail:
+ fprintf(stderr, "%s: version mismatch (%s != %s)\n", name, renderer->api.version, BM_PLUGIN_VERSION);
fail:
if (handle)
chckDlUnload(handle);
- fprintf(stderr, "%s\n", error);
return false;
}