mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-18 18:58:22 +00:00
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 ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@299132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -191,7 +191,7 @@ static int pgsql_log(struct ast_cdr *cdr)
|
||||
} 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 @@ static int pgsql_log(struct ast_cdr *cdr)
|
||||
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));
|
||||
}
|
||||
|
Reference in New Issue
Block a user