aboutsummaryrefslogtreecommitdiffstats
path: root/cdr/cdr_tds.c
diff options
context:
space:
mode:
authorseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2008-06-16 17:33:10 +0000
committerseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2008-06-16 17:33:10 +0000
commitd205516f1d6ad8043fc1f1c7825906ec963b9e26 (patch)
tree112e6f5d47d2190872d7fe5f311b40cb59bea7d9 /cdr/cdr_tds.c
parent1e3cc665ed78713074f9afb857aa2035c72a27cc (diff)
Last commit for a bit, minor cleanups and move the lock initialization.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@123076 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'cdr/cdr_tds.c')
-rw-r--r--cdr/cdr_tds.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/cdr/cdr_tds.c b/cdr/cdr_tds.c
index 6ac5c09c5..2991df134 100644
--- a/cdr/cdr_tds.c
+++ b/cdr/cdr_tds.c
@@ -109,6 +109,8 @@ static void get_date(char *, struct timeval);
static int mssql_connect(void);
static int mssql_disconnect(void);
+static void cdr_tds_config_destroy(void);
+
static int tds_log(struct ast_cdr *cdr)
{
char sqlcmd[2048], start[80], answer[80], end[80];
@@ -395,15 +397,20 @@ connect_fail:
return -1;
}
+static void cdr_tds_config_destroy(void)
+{
+ ast_mutex_destroy(&settings->lock);
+ ast_string_field_free_memory(settings);
+ ast_free(settings);
+}
+
static int tds_unload_module(void)
{
mssql_disconnect();
ast_cdr_unregister(name);
- ast_mutex_destroy(&settings->lock);
- ast_string_field_free_memory(settings);
- ast_free(settings);
+ cdr_tds_config_destroy();
return 0;
}
@@ -417,7 +424,7 @@ static int tds_load_module(int reload)
cfg = ast_config_load(config, config_flags);
if (!cfg) {
- ast_log(LOG_NOTICE, "Unable to load config for MSSQL CDR's: %s\n", config);
+ ast_log(LOG_NOTICE, "Unable to load config for MSSQL CDRs: %s\n", config);
return 0;
} else if (cfg == CONFIG_STATUS_FILEUNCHANGED)
return 0;
@@ -441,9 +448,9 @@ static int tds_load_module(int reload)
ast_config_destroy(cfg);
return 0;
}
- }
- ast_mutex_init(&settings->lock);
+ ast_mutex_init(&settings->lock);
+ }
ptr = ast_variable_retrieve(cfg, "global", "hostname");
if (ptr) {
@@ -470,7 +477,7 @@ static int tds_load_module(int reload)
if (ptr) {
ast_string_field_set(settings, password, ptr);
} else {
- ast_log(LOG_ERROR,"Database password not specified.\n");
+ ast_log(LOG_ERROR, "Database password not specified.\n");
}
ptr = ast_variable_retrieve(cfg, "global", "charset");