Use the last CDR entry instead of the first CDR entry for variable retrieving variables using the CDR dialplan function. (issue #7689 reported by voipgate)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@40225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2
Joshua Colp 19 years ago
parent afedbd97af
commit 3d759745f9

@ -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;
}

Loading…
Cancel
Save