]> code.citadel.org Git - citadel.git/blobdiff - citadel/serv_pop3.c
fix all the <time.h> vs. <sys/time.h> issues, hopefully
[citadel.git] / citadel / serv_pop3.c
index b91800243c5cd735f4b49fb7cf5fb8b7b152c8ea..0906e837113827fa5159c4d85ac2d81a92b65640 100644 (file)
 #include <pwd.h>
 #include <errno.h>
 #include <sys/types.h>
-#include <sys/time.h>
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
+
 #include <sys/wait.h>
 #include <string.h>
 #include <limits.h>
 #include <ctype.h>
 #include "citadel.h"
 #include "server.h"
-#include <time.h>
 #include "sysdep_decls.h"
 #include "citserver.h"
 #include "support.h"
@@ -163,7 +173,8 @@ int pop3_grab_mailbox(void) {
         CtdlGetRelationship(&vbuf, &CC->usersupp, &CC->quickroom);
        POP3->lastseen = (-1);
        if (POP3->num_msgs) for (i=0; i<POP3->num_msgs; ++i) {
-               if ((POP3->msgs[POP3->num_msgs-1].msgnum) <= vbuf.v_lastseen) {
+               if (is_msg_in_mset(vbuf.v_seen,
+                  (POP3->msgs[POP3->num_msgs-1].msgnum) )) {
                        POP3->lastseen = i;
                }
        }
@@ -441,7 +452,8 @@ void pop3_update(void) {
                lgetuser(&CC->usersupp, CC->curr_user);
 
                CtdlGetRelationship(&vbuf, &CC->usersupp, &CC->quickroom);
-               vbuf.v_lastseen = POP3->msgs[POP3->num_msgs-1].msgnum;
+               sprintf(vbuf.v_seen, "*:%ld",
+                       POP3->msgs[POP3->num_msgs-1].msgnum);
                CtdlSetRelationship(&vbuf, &CC->usersupp, &CC->quickroom);
 
                lputuser(&CC->usersupp);