use correct arguments to ast_cdr_reset from my changes earlier today
authorRussell Bryant <russell@russellbryant.com>
Mon, 7 Nov 2005 04:14:48 +0000 (04:14 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 7 Nov 2005 04:14:48 +0000 (04:14 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6991 65c4cc65-6c06-0410-ace0-fbb531ad65f3

ChangeLog
apps/app_forkcdr.c

index 62e1b7a..78016cc 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,7 +8,7 @@
        * many files: Update applications to add an exit status variable, make priority jumping optional, and use new args parsing macros
        * pbx.c cdr.c res/res_features.c apps/app_dial.c include/asterisk/cdr.h: Convert some built-in applications to use new args parsing macros.  Change ast_cdr_reset to take a pointer to an ast_flags structure instead of an integer for flags.
        * channels/chan_agent.c: Don't loop forever on an invalid options string
-       * apps/app_disa.c: Fix to use correct arguments to ast_cdr_reset
+       * apps/app_disa.c apps/app_forkcdr.c: Fix to use correct arguments to ast_cdr_reset
 
 2005-11-05  Kevin P. Fleming  <kpfleming@digium.com>
 
index 0019ec1..ad8eaa0 100755 (executable)
@@ -57,16 +57,23 @@ static void ast_cdr_fork(struct ast_channel *chan)
 {
        struct ast_cdr *cdr;
        struct ast_cdr *newcdr;
+       struct ast_flags flags = { AST_CDR_FLAG_KEEP_VARS };
+
        if (!chan || !(cdr = chan->cdr))
                return;
+
        while (cdr->next)
                cdr = cdr->next;
+       
        if (!(newcdr = ast_cdr_dup(cdr)))
                return;
+       
        ast_cdr_append(cdr, newcdr);
-       ast_cdr_reset(newcdr, AST_CDR_FLAG_KEEP_VARS);
+       ast_cdr_reset(newcdr, &flags);
+       
        if (!ast_test_flag(cdr, AST_CDR_FLAG_KEEP_VARS))
                ast_cdr_free_vars(cdr, 0);
+       
        ast_set_flag(cdr, AST_CDR_FLAG_CHILD | AST_CDR_FLAG_LOCKED);
 }