[asterisk-commits] tilghman: trunk r299132 - in /trunk: ./ cdr/cdr_pgsql.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Dec 20 17:48:14 UTC 2010
Author: tilghman
Date: Mon Dec 20 11:48:09 2010
New Revision: 299132
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=299132
Log:
Merged revisions 299131 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r299131 | tilghman | 2010-12-20 11:47:10 -0600 (Mon, 20 Dec 2010) | 18 lines
Merged revisions 299130 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r299130 | tilghman | 2010-12-20 11:41:24 -0600 (Mon, 20 Dec 2010) | 11 lines
If a call was not answered, then the billsec was calculated unusually large.
Also, due to a copy and paste error, a request for the answer field would have
given the start value, instead.
(closes issue #18460)
Reported by: joscas
Patches:
20101215__issue18460.diff.txt uploaded by tilghman (license 14)
Tested by: joscas
........
................
Modified:
trunk/ (props changed)
trunk/cdr/cdr_pgsql.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.
Modified: trunk/cdr/cdr_pgsql.c
URL: http://svnview.digium.com/svn/asterisk/trunk/cdr/cdr_pgsql.c?view=diff&rev=299132&r1=299131&r2=299132
==============================================================================
--- trunk/cdr/cdr_pgsql.c (original)
+++ trunk/cdr/cdr_pgsql.c Mon Dec 20 11:48:09 2010
@@ -191,7 +191,7 @@
} else {
/* char, hopefully */
LENGTHEN_BUF2(31);
- ast_localtime(&cdr->start, &tm, tz);
+ ast_localtime(&cdr->answer, &tm, tz);
ast_strftime(buf, sizeof(buf), DATE_FORMAT, &tm);
ast_str_append(&sql2, 0, "%s%s", first ? "" : ",", buf);
}
@@ -216,12 +216,12 @@
LENGTHEN_BUF2(13);
ast_str_append(&sql2, 0, "%s%s", first ? "" : ",", value);
} else if (strncmp(cur->type, "float", 5) == 0) {
- struct timeval *when = cur->name[0] == 'd' ? &cdr->start : &cdr->answer;
+ struct timeval *when = cur->name[0] == 'd' ? &cdr->start : ast_tvzero(cdr->answer) ? &cdr->end : &cdr->answer;
LENGTHEN_BUF2(31);
ast_str_append(&sql2, 0, "%s%f", first ? "" : ",", (double) (ast_tvdiff_us(cdr->end, *when) / 1000000.0));
} else {
/* Char field, probably */
- struct timeval *when = cur->name[0] == 'd' ? &cdr->start : &cdr->answer;
+ struct timeval *when = cur->name[0] == 'd' ? &cdr->start : ast_tvzero(cdr->answer) ? &cdr->end : &cdr->answer;
LENGTHEN_BUF2(31);
ast_str_append(&sql2, 0, "%s'%f'", first ? "" : ",", (double) (ast_tvdiff_us(cdr->end, *when) / 1000000.0));
}
More information about the asterisk-commits
mailing list