From 5a77cbe00c4cc2fa10218c454ebb1f05a1f7ae90 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Mon, 25 Jun 2012 19:24:55 +0000 Subject: [PATCH] Tweak CDR change in r369351 As Tilghman pointed out on review 1996, the check to see if a CDR end time has been set is sufficient to know whether or not the duration value can be used. The check-in done for r369351 forgot to include this change. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@369366 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/cdr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/cdr.c b/main/cdr.c index 8a738d14fb..b73ed2ad7a 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -294,7 +294,7 @@ void ast_cdr_getvar(struct ast_cdr *cdr, const char *name, char **ret, char *wor 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 || !ast_tvzero(cdr->end) ? cdr->duration : (long)ast_tvdiff_ms(ast_tvnow(), cdr->start) / 1000); + snprintf(workspace, workspacelen, "%ld", cdr->end.tv_sec != 0 ? 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")) { -- 2.47.3