diff options
Diffstat (limited to 'plugin.c')
-rw-r--r-- | plugin.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -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) { |