diff options
author | Matt Jordan <mjordan@digium.com> | 2015-06-02 12:02:01 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2015-06-02 12:02:01 -0500 |
commit | 2a6282f4d808989dd06cd4dbfb6db381d6d4af4b (patch) | |
tree | fe22f7aa328d1a5c14ed69a78820b222c338af72 /cdr | |
parent | af420ba4aed1c84b125d0785f6009d58d69f0e31 (diff) | |
parent | 2cd40c2bd704fb4fb261aca925ec92741cdae141 (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.c | 13 |
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)) |