rendered paste bodystatic char *builtin_function_cdr_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
{
char *ret;
char *mydata;
int argc;
char *argv[2];
int recursive = 0;
if (!data || ast_strlen_zero(data))
return NULL;
if (!chan->cdr)
return NULL;
mydata = ast_strdupa(data);
argc = ast_separate_app_args(mydata, '|', argv, sizeof(argv) / sizeof(argv[0]));
/* check for a trailing flags argument */
if ((argc > 1) && !strchr(argv[argc-1], '=')) {
argc--;
if (strchr(argv[argc], 'r'))
recursive = 1;
}
ast_cdr_getvar(chan->cdr, argv[0], &ret, buf, len, recursive);
return ret;
}