Add support for new recorded character sounds
authorTilghman Lesher <tilghman@meg.abyt.es>
Tue, 20 Nov 2007 23:28:57 +0000 (23:28 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Tue, 20 Nov 2007 23:28:57 +0000 (23:28 +0000)
Closes issue #5208

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89467 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/say.c

index f63a941..17f3a57 100644 (file)
@@ -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))