typedef void * switch_dso_data_t;
-void switch_dso_destroy(switch_dso_lib_t *lib);
-switch_dso_lib_t switch_dso_open(const char *path, int global, char **err);
-switch_dso_func_t switch_dso_func_sym(switch_dso_lib_t lib, const char *sym, char **err);
-void *switch_dso_data_sym(switch_dso_lib_t lib, const char *sym, char **err);
+SWITCH_DECLARE(void) switch_dso_destroy(switch_dso_lib_t *lib);
+SWITCH_DECLARE(switch_dso_lib_t) switch_dso_open(const char *path, int global, char **err);
+SWITCH_DECLARE(switch_dso_func_t) switch_dso_func_sym(switch_dso_lib_t lib, const char *sym, char **err);
+SWITCH_DECLARE(void *) switch_dso_data_sym(switch_dso_lib_t lib, const char *sym, char **err);
#endif
err:
- if (err) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Loading module %s\n**%s**\n", filename, err);
+ if (err || !module) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Loading module %s\n**%s**\n", filename, switch_str_nil(err));
switch_safe_free(derr);
return SWITCH_STATUS_GENERR;
}
\r
#ifdef WIN32\r
\r
-void switch_dso_destroy(switch_dso_lib_t *lib) {\r
+SWITCH_DECLARE(void) switch_dso_destroy(switch_dso_lib_t *lib) {\r
if (lib && *lib) {\r
FreeLibrary(*lib);\r
*lib = NULL;\r
}\r
}\r
\r
-switch_dso_lib_t switch_dso_open(const char *path, int global, char **err) {\r
+SWITCH_DECLARE(switch_dso_lib_t) switch_dso_open(const char *path, int global, char **err) {\r
HINSTANCE lib;\r
\r
lib = LoadLibraryEx(path, NULL, 0);\r
return lib;\r
}\r
\r
-switch_dso_func_t switch_dso_func_sym(switch_dso_lib_t lib, const char *sym, char **err) {\r
+SWITCH_DECLARE(switch_dso_func_t) switch_dso_func_sym(switch_dso_lib_t lib, const char *sym, char **err) {\r
FARPROC func = GetProcAddress(lib, sym);\r
if (!func) {\r
DWORD error = GetLastError();\r
return (switch_dso_func_t)func;\r
}\r
\r
-void *switch_dso_data_sym(switch_dso_lib_t lib, const char *sym, char **err) {\r
+SWITCH_DECLARE(void *) switch_dso_data_sym(switch_dso_lib_t lib, const char *sym, char **err) {\r
FARPROC addr = GetProcAddress(lib, sym);\r
if (!addr) {\r
DWORD error = GetLastError();\r