]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Use the last CDR entry instead of the first CDR entry for variable retrieving variabl...
authorJoshua Colp <jcolp@digium.com>
Thu, 17 Aug 2006 16:22:58 +0000 (16:22 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 17 Aug 2006 16:22:58 +0000 (16:22 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@40225 65c4cc65-6c06-0410-ace0-fbb531ad65f3

funcs/func_cdr.c

index 3e4696e18df6fa17c91a8b1d8a50fa3b383883e2..fdd241894b6d6bf8ebef4a6fa911645b376a72a1 100644 (file)
@@ -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;
 }