diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-16 18:21:10 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-16 18:21:10 +0000 |
commit | 55c9a7c44506b508ab856fe9032e286565c976ec (patch) | |
tree | e80322629b639fe067958aa8248cecb167fdfa5f /apps | |
parent | d3df1fc9b26ea738af4767b5db362c99d4115f98 (diff) |
issue #5763
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7118 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rwxr-xr-x | apps/app_forkcdr.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/apps/app_forkcdr.c b/apps/app_forkcdr.c index 21073ff50..290c16850 100755 --- a/apps/app_forkcdr.c +++ b/apps/app_forkcdr.c @@ -59,8 +59,7 @@ static void ast_cdr_fork(struct ast_channel *chan) struct ast_cdr *newcdr; struct ast_flags flags = { AST_CDR_FLAG_KEEP_VARS }; - if (!chan || !(cdr = chan->cdr)) - return; + cdr = chan->cdr; while (cdr->next) cdr = cdr->next; @@ -79,11 +78,18 @@ static void ast_cdr_fork(struct ast_channel *chan) static int forkcdr_exec(struct ast_channel *chan, void *data) { - int res=0; + int res = 0; struct localuser *u; + + if (!chan->cdr) { + ast_log(LOG_WARNING, "Channel does not have a CDR\n"); + return 0; + } + LOCAL_USER_ADD(u); + if (!ast_strlen_zero(data)) - ast_set2_flag(chan->cdr, strchr((char *)data, 'v'), AST_CDR_FLAG_KEEP_VARS); + ast_set2_flag(chan->cdr, strchr(data, 'v'), AST_CDR_FLAG_KEEP_VARS); ast_cdr_fork(chan); |