From 4edd97a713a592e7e032998b926dd7d02773782c Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Wed, 15 Mar 2006 22:16:15 +0000 Subject: [PATCH] - remove some calculations that will always result in 0 - if a CDR was never started, don't try to calculate a duration and consider it failed git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@13161 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- cdr.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cdr.c b/cdr.c index 2e78671dc4..9d3eb68bd6 100644 --- a/cdr.c +++ b/cdr.c @@ -807,11 +807,13 @@ static void post_cdr(struct ast_cdr *cdr) ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan); if (ast_tvzero(cdr->end)) ast_log(LOG_WARNING, "CDR on channel '%s' lacks end\n", chan); - if (ast_tvzero(cdr->start)) + if (ast_tvzero(cdr->start)) { ast_log(LOG_WARNING, "CDR on channel '%s' lacks start\n", chan); - cdr->duration = cdr->end.tv_sec - cdr->start.tv_sec + (cdr->end.tv_usec - cdr->start.tv_usec) / 1000000; + cdr->disposition = AST_CDR_FAILED; + } else + cdr->duration = cdr->end.tv_sec - cdr->start.tv_sec; if (!ast_tvzero(cdr->answer)) - cdr->billsec = cdr->end.tv_sec - cdr->answer.tv_sec + (cdr->end.tv_usec - cdr->answer.tv_usec) / 1000000; + cdr->billsec = cdr->end.tv_sec - cdr->answer.tv_sec; else cdr->billsec = 0; ast_set_flag(cdr, AST_CDR_FLAG_POSTED);