summaryrefslogtreecommitdiff
path: root/main/say.c
diff options
context:
space:
mode:
authorTilghman Lesher <tilghman@meg.abyt.es>2007-11-20 23:28:57 +0000
committerTilghman Lesher <tilghman@meg.abyt.es>2007-11-20 23:28:57 +0000
commit8f4fb30cfe8d267c6aa9b3f5e5af511a365500c1 (patch)
treecc02435a93b61098341690061dc8343d3fc54aca /main/say.c
parenta23c055c3d54e586492c8c194c70ccb4e0c7f3ce (diff)
Add support for new recorded character sounds
Closes issue #5208 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/say.c')
-rw-r--r--main/say.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/main/say.c b/main/say.c
index f63a941b1..17f3a57d1 100644
--- a/main/say.c
+++ b/main/say.c
@@ -59,7 +59,7 @@ static int wait_file(struct ast_channel *chan, const char *ints, const char *fil
static int say_character_str_full(struct ast_channel *chan, const char *str, const char *ints, const char *lang, int audiofd, int ctrlfd)
{
const char *fn;
- char fnbuf[256];
+ char fnbuf[10], asciibuf[20] = "letters/ascii";
char ltr;
int num = 0;
int res = 0;
@@ -121,7 +121,8 @@ static int say_character_str_full(struct ast_channel *chan, const char *str, con
fnbuf[8] = ltr;
fn = fnbuf;
}
- if (fn && ast_fileexists(fn, NULL, lang) > 0) {
+ if ((fn && ast_fileexists(fn, NULL, lang) > 0) ||
+ (snprintf(asciibuf + 13, sizeof(asciibuf) - 13, "%d", str[num]) > 0 && ast_fileexists(asciibuf, NULL, lang) > 0 && (fn = asciibuf))) {
res = ast_streamfile(chan, fn, lang);
if (!res) {
if ((audiofd > -1) && (ctrlfd > -1))