summaryrefslogtreecommitdiff
path: root/plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugin.c')
-rw-r--r--plugin.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/plugin.c b/plugin.c
index 0e0f2d13..cad2cd56 100644
--- a/plugin.c
+++ b/plugin.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: plugin.c 4.2 2020/06/29 09:29:06 kls Exp $
+ * $Id: plugin.c 4.3 2020/12/13 10:56:36 kls Exp $
*/
#include "plugin.h"
@@ -229,9 +229,12 @@ bool cDll::Load(bool Log)
if (!error) {
typedef cPlugin *create_t(void);
create_t *create = (create_t *)dlsym(handle, "VDRPluginCreator");
- if (!(error = dlerror()))
+ error = dlerror();
+ if (!error && create) {
plugin = create();
- destroy = (destroy_t *)dlsym(handle, "VDRPluginDestroyer");
+ destroy = (destroy_t *)dlsym(handle, "VDRPluginDestroyer");
+ error = dlerror();
+ }
}
if (!error) {
if (plugin && args) {