Skip to content
Snippets Groups Projects
Commit badac75c authored by Tilghman Lesher's avatar Tilghman Lesher
Browse files

Bug 6787 - Allow escaping of newline characters for invoking non-Festival TTS systems

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 3780d4e7
Branches
Tags
No related merge requests found
......@@ -305,6 +305,7 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
char *data;
char *intstr;
struct ast_config *cfg;
char *newfestivalcommand;
if (ast_strlen_zero(vdata)) {
ast_log(LOG_WARNING, "festival requires an argument (text)\n");
......@@ -337,6 +338,22 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
}
if (!(festivalcommand = ast_variable_retrieve(cfg, "general", "festivalcommand"))) {
festivalcommand = "(tts_textasterisk \"%s\" 'file)(quit)\n";
} else { /* This else parses the festivalcommand that we're sent from the config file for \n's, etc */
int i, j;
newfestivalcommand = alloca(strlen(festivalcommand) + 1);
for (i = 0, j = 0; i < strlen(festivalcommand); i++) {
if (festivalcommand[i] == '\\' && festivalcommand[i + 1] == 'n') {
newfestivalcommand[j++] = '\n';
i++;
} else if (festivalcommand[i] == '\\') {
newfestivalcommand[j++] = festivalcommand[i + 1];
i++;
} else
newfestivalcommand[j++] = festivalcommand[i];
}
newfestivalcommand[j] = '\0';
festivalcommand = newfestivalcommand;
}
if (!(data = ast_strdupa(vdata))) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment