]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Use the proper function to get the new message count instead of always using the...
authorJoshua Colp <jcolp@digium.com>
Mon, 27 Nov 2006 18:03:57 +0000 (18:03 +0000)
committerJoshua Colp <jcolp@digium.com>
Mon, 27 Nov 2006 18:03:57 +0000 (18:03 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@48053 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c

index e76669db7d60c4b3e8849e44c2fc92c57f36c8b0..a1b46d318851a17689c04c28a935cba803cfac83 100644 (file)
@@ -5768,22 +5768,13 @@ static int handle_show_voicemail_users(int fd, int argc, char *argv[])
                        }
                }
                while (vmu) {
-                       char dirname[256];
-                       DIR *vmdir;
-                       struct dirent *vment;
-                       int vmcount = 0;
-                       char count[12];
+                       int newmsgs = 0, oldmsgs = 0;
+                       char count[12], tmp[256] = "";
 
                        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 (strlen(vment->d_name) > 7 && !strncmp(vment->d_name + 7,".txt",4))
-                                                       vmcount++;
-                                       closedir(vmdir);
-                               }
-                               snprintf(count,sizeof(count),"%d",vmcount);
+                               snprintf(tmp, sizeof(tmp), "%s@%s", vmu->mailbox, ast_strlen_zero(vmu->context) ? "default" : vmu->context);
+                               messagecount(tmp, &newmsgs, &oldmsgs);
+                               snprintf(count,sizeof(count),"%d",newmsgs);
                                ast_cli(fd, output_format, vmu->context, vmu->mailbox, vmu->fullname, vmu->zonetag, count);
                        }
                        vmu = vmu->next;