Вывод в консоль и в текстовый файл - PullRequest
0 голосов
/ 19 июня 2019

Я думаю, что это написано на C, честно говоря, не знаю, как определить (если бы кто-то мог дать некоторые советы, это было бы здорово). Когда в консоли выполняется команда rpt dumpvars 1234 , она возвращает переменные машины / узла 1234 на экран. Я хочу, чтобы те же данные выводились в файл variables.txt. Есть ли один простой вкладыш, который я могу добавить, чтобы сделать это?

Файл находится здесь .

Часть данных, которые я пытаюсь получить, может быть найдена в строках 7590-7623, вставленных здесь:

/*
* Display a node's main channel variables from the command line 
*/
static int rpt_do_showvars(int fd, int argc, char *argv[])
{
int i,thisRpt = -1;
struct ast_var_t *newvariable;

if (argc != 3) return RESULT_SHOWUSAGE;
for(i = 0; i < nrpts; i++)
{
    if(!strcmp(argv[2], rpt_vars[i].name))
    {
        thisRpt = i;
        break;
    } 
} 

if (thisRpt < 0)
{
    ast_cli(fd, "Unknown node number %s.\n", argv[2]);
    return RESULT_FAILURE;
} 
i = 0;
ast_cli(fd,"Variable listing for node %s:\n",argv[2]);
ast_channel_lock(rpt_vars[thisRpt].rxchannel);
AST_LIST_TRAVERSE (&rpt_vars[thisRpt].rxchannel->varshead, newvariable, 
entries) {
    i++;
    ast_cli(fd,"   %s=%s\n", ast_var_name(newvariable), 
ast_var_value(newvariable));
}
ast_channel_unlock(rpt_vars[thisRpt].rxchannel);
ast_cli(fd,"    -- %d variables\n", i);
return(0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...