Fix show voicemail users for <context>. Bugs #820
authorJeremy McNamara <jj@nufone.net>
Tue, 13 Jan 2004 00:35:45 +0000 (00:35 +0000)
committerJeremy McNamara <jj@nufone.net>
Tue, 13 Jan 2004 00:35:45 +0000 (00:35 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1994 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c

index c1902a0..9b36e19 100755 (executable)
@@ -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 {