Merge r369351 for AST-883

git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/1.8.11@371650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Jordan
2012-08-24 13:49:40 +00:00
parent 7b0ada11d4
commit 21e4a262bf

View File

@@ -289,9 +289,9 @@ void ast_cdr_getvar(struct ast_cdr *cdr, const char *name, char **ret, char *wor
cdr_get_tv(cdr->answer, raw ? NULL : fmt, workspace, workspacelen);
else if (!strcasecmp(name, "end"))
cdr_get_tv(cdr->end, raw ? NULL : fmt, workspace, workspacelen);
else if (!strcasecmp(name, "duration"))
snprintf(workspace, workspacelen, "%ld", cdr->duration ? cdr->duration : (long)ast_tvdiff_ms(ast_tvnow(), cdr->start) / 1000);
else if (!strcasecmp(name, "billsec"))
else if (!strcasecmp(name, "duration")) {
snprintf(workspace, workspacelen, "%ld", cdr->duration || !ast_tvzero(cdr->end) ? cdr->duration : (long)ast_tvdiff_ms(ast_tvnow(), cdr->start) / 1000);
} else if (!strcasecmp(name, "billsec"))
snprintf(workspace, workspacelen, "%ld", cdr->billsec || cdr->answer.tv_sec == 0 ? cdr->billsec : (long)ast_tvdiff_ms(ast_tvnow(), cdr->answer) / 1000);
else if (!strcasecmp(name, "disposition")) {
if (raw) {