summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-11-11 21:04:10 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-11-11 21:04:10 +0000
commit6f45949ca1c68eb72a518ae660716b391fa39e21 (patch)
tree64cfaa660695a7b1d07c0d40957f10b383910002 /apps
parent500dd158fe0e667864228411dfe9f98213e676b1 (diff)
issue #5663
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rwxr-xr-xapps/app_voicemail.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index b30d69df8..b4b77c71d 100755
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -3869,7 +3869,7 @@ static int open_mailbox(struct vm_state *vms, struct ast_vm_user *vmu,int box)
static int close_mailbox(struct vm_state *vms, struct ast_vm_user *vmu)
{
- int x;
+ int x, nummsg;
int res = 0;
if (vms->lastmsg <= -1)
@@ -3902,12 +3902,14 @@ static int close_mailbox(struct vm_state *vms, struct ast_vm_user *vmu)
}
}
}
- for (x = vms->curmsg + 1; x <= vmu->maxmsg; x++) {
- make_file(vms->fn, sizeof(vms->fn), vms->curdir, x);
- if (!EXISTS(vms->curdir, x, vms->fn, NULL))
- break;
- DELETE(vms->curdir, x, vms->fn);
- }
+
+ /* Delete ALL remaining messages */
+ nummsg = x;
+ for (x = vms->curmsg + 1; x <= nummsg; x++) {
+ make_file(vms->fn, sizeof(vms->fn), vms->curdir, x);
+ if (EXISTS(vms->curdir, x, vms->fn, NULL))
+ DELETE(vms->curdir, x, vms->fn);
+ }
ast_unlock_path(vms->curdir);
done: