Я думаю, что это написано на 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);
}