diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-06-26 16:06:19 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-06-26 16:06:19 +0000 |
commit | ceb8d2ba47de92710bf062a3e3cdfc4798cb31c6 (patch) | |
tree | d6c49794af08c7d3d175fcc70509c27465c6615f /apps/app_voicemail.c | |
parent | a47f8fb39e6421537defe513089d1c95d919cb91 (diff) |
Don't repeat option 3 (bug #1910)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3316 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_voicemail.c')
-rwxr-xr-x | apps/app_voicemail.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index d1183ff79..f68e934c2 100755 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -3235,7 +3235,7 @@ static int vm_intro_pt(struct ast_channel *chan,struct vm_state *vms) return res; } -static int vm_instructions(struct ast_channel *chan, struct vm_state *vms) +static int vm_instructions(struct ast_channel *chan, struct vm_state *vms, int skipadvanced) { int res = 0; /* Play instructions and wait for new command */ @@ -3260,7 +3260,7 @@ static int vm_instructions(struct ast_channel *chan, struct vm_state *vms) } else { if (vms->curmsg) res = play_and_wait(chan, "vm-prev"); - if (!res) + if (!res && !skipadvanced) res = play_and_wait(chan, "vm-advopts"); if (!res) res = play_and_wait(chan, "vm-repeat"); @@ -3810,6 +3810,8 @@ static int vm_execmain(struct ast_channel *chan, void *data) } if (!cmd) cmd = play_and_wait(chan, "vm-opts"); + if (!cmd) + cmd = vm_instructions(chan, &vms, 1); } else cmd = 0; break; @@ -3819,7 +3821,7 @@ static int vm_execmain(struct ast_channel *chan, void *data) adsi_status(chan, vms.newmessages, vms.oldmessages, vms.lastmsg); break; default: /* Nothing */ - cmd = vm_instructions(chan, &vms); + cmd = vm_instructions(chan, &vms, 0); break; } } |