]> code.citadel.org Git - citadel.git/commitdiff
user_ops.c: implemented NewMailCount()
authorArt Cancro <ajc@citadel.org>
Fri, 9 Oct 1998 22:47:22 +0000 (22:47 +0000)
committerArt Cancro <ajc@citadel.org>
Fri, 9 Oct 1998 22:47:22 +0000 (22:47 +0000)
citadel/ChangeLog
citadel/user_ops.c

index 8e79c0a066f900d1a4ffd6a491ec974d6d011bed..9671d5f0bcbb30968e2249b4bff8e32e31862024 100644 (file)
@@ -1,6 +1,7 @@
 Fri Oct  9 18:34:06 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * user_ops.c: added PurgeStaleRelationships() to do processing at
          session logout time to remove visits for rooms which no longer exist
+       * user_ops.c: implemented NewMailCount()
 
 1998-10-09 Nathan Bryant <bryant@cs.usm.maine.edu>
        * serv_chat.c: fix buffer overrun that was resulting in segv's
index 0222522708bede7f52bcfa66c7a3fe90cbbc612d..41ce4a8c9fea3591ab1ae78a93607de04ba9b402 100644 (file)
@@ -1324,11 +1324,23 @@ void cmd_asup(char *cmdbuf) {
  */
 int NewMailCount() {
        int num_newmsgs = 0;
+       int a;
        char mailboxname[32];
+       struct quickroom mailbox;
+       struct visit vbuf;
 
        MailboxName(mailboxname, &CC->usersupp, MAILROOM);
-
-       /* FIX FIX FIX FIX FIX   This needs implementation */
+       if (getroom(&mailbox, mailboxname)!=0) return(0);
+       CtdlGetRelationship(&vbuf, &CC->usersupp, &mailbox);
+
+       get_msglist(&mailbox);
+       for (a=0; a<CC->num_msgs; ++a) {
+               if (MessageFromList(a)>0L) {
+                       if (MessageFromList(a) > vbuf.v_lastseen) {
+                               ++num_newmsgs;
+                               }
+                       }
+               }
 
        return(num_newmsgs);
        }