aboutsummaryrefslogtreecommitdiffstats
path: root/funcs
diff options
context:
space:
mode:
Diffstat (limited to 'funcs')
-rw-r--r--funcs/func_cdr.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/funcs/func_cdr.c b/funcs/func_cdr.c
index 3e4696e18..fdd241894 100644
--- a/funcs/func_cdr.c
+++ b/funcs/func_cdr.c
@@ -44,11 +44,12 @@ static char *builtin_function_cdr_read(struct ast_channel *chan, char *cmd, char
int argc;
char *argv[2];
int recursive = 0;
+ struct ast_cdr *cdr = chan->cdr;
if (ast_strlen_zero(data))
return NULL;
- if (!chan->cdr)
+ if (!cdr)
return NULL;
mydata = ast_strdupa(data);
@@ -61,7 +62,11 @@ static char *builtin_function_cdr_read(struct ast_channel *chan, char *cmd, char
recursive = 1;
}
- ast_cdr_getvar(chan->cdr, argv[0], &ret, buf, len, recursive);
+ /* Find last entry */
+ while (cdr->next)
+ cdr = cdr->next;
+
+ ast_cdr_getvar(cdr, argv[0], &ret, buf, len, recursive);
return ret;
}