diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-07 04:14:48 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-07 04:14:48 +0000 |
commit | 25be1f3bc599f4752aab163844ebe75d9a471a42 (patch) | |
tree | ea05f6ed4ff93515d18f8cf81040c4ebe199d16c | |
parent | cf0c3725e25d17b45115245540e799ae5632d760 (diff) |
use correct arguments to ast_cdr_reset from my changes earlier today
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6991 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | ChangeLog | 2 | ||||
-rwxr-xr-x | apps/app_forkcdr.c | 9 |
2 files changed, 9 insertions, 2 deletions
@@ -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> diff --git a/apps/app_forkcdr.c b/apps/app_forkcdr.c index 0019ec1a4..ad8eaa0a7 100755 --- a/apps/app_forkcdr.c +++ b/apps/app_forkcdr.c @@ -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); } |