Merge bug 1483 -- advanced voicemail options

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-04-28 04:33:16 +00:00
parent 19064660d2
commit 478474bcb1
29 changed files with 815 additions and 57 deletions

15
say.c
View File

@@ -34,6 +34,7 @@ int ast_say_digit_str(struct ast_channel *chan, char *fn2, char *ints, char *lan
int num = 0;
int res = 0;
while(fn2[num] && !res) {
fn[0] = '\0';
switch (fn2[num]) {
case ('*'):
snprintf(fn, sizeof(fn), "digits/star");
@@ -42,12 +43,16 @@ int ast_say_digit_str(struct ast_channel *chan, char *fn2, char *ints, char *lan
snprintf(fn, sizeof(fn), "digits/pound");
break;
default:
snprintf(fn, sizeof(fn), "digits/%c", fn2[num]);
if((fn2[num] >= '0') && (fn2[num] <= '9')){ /* Must be in {0-9} */
snprintf(fn, sizeof(fn), "digits/%c", fn2[num]);
}
}
res = ast_streamfile(chan, fn, lang);
if (!res)
res = ast_waitstream(chan, ints);
ast_stopstream(chan);
if(strlen(fn)){ /* if length == 0, then skip this digit as it is invalid */
res = ast_streamfile(chan, fn, lang);
if (!res)
res = ast_waitstream(chan, ints);
ast_stopstream(chan);
}
num++;
}
return res;