summaryrefslogtreecommitdiff
path: root/res/res_curl.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_curl.c')
-rw-r--r--res/res_curl.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/res/res_curl.c b/res/res_curl.c
index 08e6aa139..663ecd17d 100644
--- a/res/res_curl.c
+++ b/res/res_curl.c
@@ -39,20 +39,26 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h"
+static const char *dependents[] = {
+ "func_curl.so",
+ "res_config_curl.so",
+};
+
static int unload_module(void)
{
int res = 0;
+ size_t i;
/* If the dependent modules are still in memory, forbid unload */
- if (ast_module_check("func_curl.so")) {
- ast_log(LOG_ERROR, "func_curl.so (dependent module) is still loaded. Cannot unload res_curl.so\n");
- return -1;
+ for (i = 0; i < ARRAY_LEN(dependents); i++) {
+ if (ast_module_check(dependents[i])) {
+ ast_log(LOG_ERROR, "%s (dependent module) is still loaded. Cannot unload res_curl.so\n", dependents[i]);
+ res = -1;
+ }
}
- if (ast_module_check("res_config_curl.so")) {
- ast_log(LOG_ERROR, "res_config_curl.so (dependent module) is still loaded. Cannot unload res_curl.so\n");
+ if (res)
return -1;
- }
curl_global_cleanup();
@@ -64,7 +70,7 @@ static int load_module(void)
int res = 0;
if (curl_global_init(CURL_GLOBAL_ALL)) {
- ast_log(LOG_ERROR, "Unable to initialize the CURL library. Cannot load res_curl\n");
+ ast_log(LOG_ERROR, "Unable to initialize the cURL library. Cannot load res_curl.so\n");
return AST_MODULE_LOAD_DECLINE;
}