summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir.cohen@xorcom.com>2016-09-12 15:37:30 +0300
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>2016-09-15 13:16:04 +0300
commitd3ddf4b0fdaf3e9562ede947c2367031434b3b5e (patch)
tree555242e124744fc52030bb44c94aaaa9a0a70656 /addons
parent95cf4f8d3128d3c972126efd5b7e4e7b55486fa2 (diff)
cdr_mysql: fix UTC support
* Make 'cdrzone=UTC' work properly. * Fix the documentation of cdr_mysql.conf: it's cdrzone and not timezone ASTERISK-26359 #close Change-Id: I2a6f67b71bbbe77cac31a34d0bbfb1d67c933778
Diffstat (limited to 'addons')
-rw-r--r--addons/cdr_mysql.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/addons/cdr_mysql.c b/addons/cdr_mysql.c
index 9873395c2..896bad603 100644
--- a/addons/cdr_mysql.c
+++ b/addons/cdr_mysql.c
@@ -245,7 +245,7 @@ db_reconnect:
struct ast_tm tm;
char timestr[128];
ast_localtime(&tv, &tm, ast_str_strlen(cdrzone) ? ast_str_buffer(cdrzone) : NULL);
- ast_strftime(timestr, sizeof(timestr), "%Y-%m-%d %T", &tm);
+ ast_strftime(timestr, sizeof(timestr), DATE_FORMAT, &tm);
value = ast_strdupa(timestr);
cdrname = "calldate";
} else {
@@ -260,8 +260,7 @@ db_reconnect:
/* Need the type and value to determine if we want the raw value or not */
if (entry->staticvalue) {
value = ast_strdupa(entry->staticvalue);
- } else if ((!strcmp(cdrname, "start") ||
- !strcmp(cdrname, "answer") ||
+ } else if ((!strcmp(cdrname, "answer") ||
!strcmp(cdrname, "end") ||
!strcmp(cdrname, "disposition") ||
!strcmp(cdrname, "amaflags")) &&
@@ -273,6 +272,12 @@ db_reconnect:
strstr(entry->type, "numeric") ||
strstr(entry->type, "fixed"))) {
ast_cdr_format_var(cdr, cdrname, &value, workspace, sizeof(workspace), 1);
+ } else if (!strcmp(cdrname, "start")) {
+ struct ast_tm tm;
+ char timestr[128];
+ ast_localtime(&cdr->start, &tm, ast_str_strlen(cdrzone) ? ast_str_buffer(cdrzone) : NULL);
+ ast_strftime(timestr, sizeof(timestr), DATE_FORMAT, &tm);
+ value = ast_strdupa(timestr);
} else if (!strcmp(cdrname, "calldate")) {
/* Skip calldate - the value has already been dup'd */
} else {