(closes issue #13263)

Reported by: brainy
Tested by: murf

The specialized reset routine is tromping on the
flags field of the CDR. I made a change to not
reset the DISABLED bit. This should get rid of this
problem.




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@139074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2008-08-20 17:14:55 +00:00
parent 719645a4a6
commit 811faa8612

View File

@@ -1071,14 +1071,17 @@ void ast_cdr_specialized_reset(struct ast_cdr *cdr, struct ast_flags *_flags)
{
struct ast_flags flags = { 0 };
if (_flags)
ast_copy_flags(&flags, _flags, AST_FLAGS_ALL);
if (_flags)
ast_copy_flags(&flags, _flags, AST_FLAGS_ALL);
/* Reset to initial state */
ast_clear_flag(cdr, AST_FLAGS_ALL);
if (ast_test_flag(cdr, AST_CDR_FLAG_POST_DISABLED)) { /* But do NOT lose the NoCDR() setting */
ast_clear_flag(cdr, AST_FLAGS_ALL);
ast_set_flag(cdr, AST_CDR_FLAG_POST_DISABLED);
} else {
ast_clear_flag(cdr, AST_FLAGS_ALL);
}
memset(&cdr->start, 0, sizeof(cdr->start));
memset(&cdr->end, 0, sizeof(cdr->end));
memset(&cdr->answer, 0, sizeof(cdr->answer));