aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_forkcdr.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-16 18:21:10 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-16 18:21:10 +0000
commit55c9a7c44506b508ab856fe9032e286565c976ec (patch)
treee80322629b639fe067958aa8248cecb167fdfa5f /apps/app_forkcdr.c
parentd3df1fc9b26ea738af4767b5db362c99d4115f98 (diff)
issue #5763
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7118 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_forkcdr.c')
-rwxr-xr-xapps/app_forkcdr.c14
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);