summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rwxr-xr-xapps/app_voicemail.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index c1902a036..9b36e195a 100755
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -3051,16 +3051,19 @@ static int handle_show_voicemail_users(int fd, int argc, char *argv[])
struct dirent *vment;
int vmcount = 0;
char count[12];
- make_dir(dirname, 255, vmu->context, vmu->mailbox, "INBOX");
- if ((vmdir = opendir(dirname))) {
- /* No matter what the format of VM, there will always be a .txt file for each message. */
- while ((vment = readdir(vmdir)))
- if (!strncmp(vment->d_name + 7,".txt",4))
- vmcount++;
- closedir(vmdir);
+
+ if ((argc == 3) || ((argc == 5) && !strcmp(argv[4],vmu->context))) {
+ make_dir(dirname, 255, vmu->context, vmu->mailbox, "INBOX");
+ if ((vmdir = opendir(dirname))) {
+ /* No matter what the format of VM, there will always be a .txt file for each message. */
+ while ((vment = readdir(vmdir)))
+ if (!strncmp(vment->d_name + 7,".txt",4))
+ vmcount++;
+ closedir(vmdir);
+ }
+ snprintf(count,11,"%d",vmcount);
+ ast_cli(fd, output_format, vmu->context, vmu->mailbox, vmu->fullname, vmu->zonetag, count);
}
- snprintf(count,11,"%d",vmcount);
- ast_cli(fd, output_format, vmu->context, vmu->mailbox, vmu->fullname, vmu->zonetag, count);
vmu = vmu->next;
}
} else {