diff options
Diffstat (limited to 'cipher/dynload.c')
-rw-r--r-- | cipher/dynload.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cipher/dynload.c b/cipher/dynload.c index e2c988e02..adf576780 100644 --- a/cipher/dynload.c +++ b/cipher/dynload.c @@ -67,6 +67,25 @@ dlsym(void *handle, char *name) } #endif /*HAVE_DL_SHL_LOAD*/ +#ifdef __MINGW32__ +#warning Needs some more work. Based on [email protected] patch. + +#define dlopen(PATHNAME,MODE) ((void *)LoadLibrary(PATHNAME)) +#define dlclose(HANDLE) FreeLibrary(HANDLE) +char *dlerror(void) +{ + static char dlerrstr[10]; + int err=GetLastError(); + if (!err) + return NULL; + sprintf(dlerrstr, "%u", err); + return dlerrstr; +} +#define dlsym(HANDLE,NAME) GetProcAddress(HANDLE,NAME) +#endif /*__MINGW32__*/ + + + typedef struct ext_list { |