summaryrefslogtreecommitdiff
path: root/cdr
diff options
context:
space:
mode:
authorMatt Jordan <mjordan@digium.com>2015-06-02 12:02:01 -0500
committerGerrit Code Review <gerrit2@gerrit.digium.api>2015-06-02 12:02:01 -0500
commit2a6282f4d808989dd06cd4dbfb6db381d6d4af4b (patch)
treefe22f7aa328d1a5c14ed69a78820b222c338af72 /cdr
parentaf420ba4aed1c84b125d0785f6009d58d69f0e31 (diff)
parent2cd40c2bd704fb4fb261aca925ec92741cdae141 (diff)
Merge "cdr/cdr_csv.c: Set file name for csv master to the module when (re)loaded."
Diffstat (limited to 'cdr')
-rw-r--r--cdr/cdr_csv.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/cdr/cdr_csv.c b/cdr/cdr_csv.c
index 7a904a19d..2877a6b54 100644
--- a/cdr/cdr_csv.c
+++ b/cdr/cdr_csv.c
@@ -60,6 +60,7 @@ static int loguserfield = 0;
static int loaded = 0;
static int newcdrcolumns = 0;
static const char config[] = "cdr.conf";
+static char file_csv_master[PATH_MAX];
/* #define CSV_LOGUNIQUEID 1 */
/* #define CSV_LOGUSERFIELD 1 */
@@ -120,6 +121,12 @@ static int load_config(int reload)
return 0;
}
+ /* compute the location of the csv master file */
+ ast_mutex_lock(&f_lock);
+ snprintf(file_csv_master, sizeof(file_csv_master),
+ "%s/%s/%s", ast_config_AST_LOG_DIR, CSV_LOG_DIR, CSV_MASTER);
+ ast_mutex_unlock(&f_lock);
+
for (; v; v = v->next) {
if (!strcasecmp(v->name, "usegmtime")) {
usegmtime = ast_true(v->value);
@@ -293,16 +300,14 @@ static int csv_log(struct ast_cdr *cdr)
{
/* Make sure we have a big enough buf */
char buf[1024];
- char csvmaster[PATH_MAX];
- snprintf(csvmaster, sizeof(csvmaster),"%s/%s/%s", ast_config_AST_LOG_DIR, CSV_LOG_DIR, CSV_MASTER);
if (build_csv_record(buf, sizeof(buf), cdr)) {
ast_log(LOG_WARNING, "Unable to create CSV record in %d bytes. CDR not recorded!\n", (int)sizeof(buf));
return 0;
}
ast_mutex_lock(&f_lock);
- if (writefile(buf, csvmaster))
- ast_log(LOG_WARNING, "Unable to write CSV record to master '%s' : %s\n", csvmaster, strerror(errno));
+ if (writefile(buf, file_csv_master))
+ ast_log(LOG_WARNING, "Unable to write CSV record to master '%s' : %s\n", file_csv_master, strerror(errno));
if (accountlogs && !ast_strlen_zero(cdr->accountcode)) {
if (writefile_account(buf, cdr->accountcode))