summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2013-06-17 03:31:19 +0000
committerMatthew Jordan <mjordan@digium.com>2013-06-17 03:31:19 +0000
commit2b992bc74d13ae3ecb28f711a29c7bb6413be762 (patch)
tree3c43e7f06a75fc354c57966a1d9a1a6b462a7024 /addons
parent6258bbe7bd1885ac5dec095ed0c4490c83a99f44 (diff)
Make cdr_mysql compile again by not directly setting the run-time CDR object
A stray ast_cdr_setvar was missed in cdr_mysql (silly addons). This has now been refactored to not set the property, as the property would have been set on a run-time object that was already dispatched to the backend. The module simply remembers the value it wanted to set and writes it to MySQL later in the processing. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'addons')
-rw-r--r--addons/cdr_mysql.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/addons/cdr_mysql.c b/addons/cdr_mysql.c
index 23e96c562..25b55b35f 100644
--- a/addons/cdr_mysql.c
+++ b/addons/cdr_mysql.c
@@ -251,7 +251,7 @@ db_reconnect:
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_cdr_setvar(cdr, "calldate", timestr);
+ value = ast_strdupa(timestr);
cdrname = "calldate";
} else {
cdrname = "start";
@@ -278,6 +278,8 @@ 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, "calldate")) {
+ /* Skip calldate - the value has already been dup'd */
} else {
ast_cdr_format_var(cdr, cdrname, &value, workspace, sizeof(workspace), 0);
}