summaryrefslogtreecommitdiff
path: root/src/common/HPM.h
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2015-01-12 16:38:48 +0100
committerHaru <haru@dotalux.com>2015-01-12 18:31:37 +0100
commitfe00cc320396bc7ac301a22592b718792ae49adf (patch)
treea254d300f90f85b7d3c202325cad76715b26c404 /src/common/HPM.h
parente53d7e97068b404591170436e27aa5f85b079358 (diff)
downloadhercules-fe00cc320396bc7ac301a22592b718792ae49adf.tar.gz
hercules-fe00cc320396bc7ac301a22592b718792ae49adf.tar.bz2
hercules-fe00cc320396bc7ac301a22592b718792ae49adf.tar.xz
hercules-fe00cc320396bc7ac301a22592b718792ae49adf.zip
Added detailed error message when a plugin fails to load
- This helps figuring out why a plugin can't be loaded (especially on linux systems.) - Special thanks to Dastgir. Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/common/HPM.h')
-rw-r--r--src/common/HPM.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/common/HPM.h b/src/common/HPM.h
index 4e1aa5beb..973bc6cca 100644
--- a/src/common/HPM.h
+++ b/src/common/HPM.h
@@ -19,6 +19,7 @@
#define plugin_open(x) LoadLibraryA(x)
#define plugin_import(x,y,z) (z)GetProcAddress((x),(y))
#define plugin_close(x) FreeLibrary(x)
+ #define plugin_geterror(buf) (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0, buf, sizeof(buf), NULL) ? buf : "Unknown error")
#define DLL_EXT ".dll"
#define DLL HINSTANCE
@@ -31,6 +32,7 @@
#endif // RTLD_DEEPBIND
#define plugin_import(x,y,z) (z)dlsym((x),(y))
#define plugin_close(x) dlclose(x)
+ #define plugin_geterror(buf) ((void)buf, dlerror())
#if defined CYGWIN
#define DLL_EXT ".dll"