aboutsummaryrefslogtreecommitdiffstats
path: root/uid.c
diff options
context:
space:
mode:
Diffstat (limited to 'uid.c')
-rw-r--r--uid.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/uid.c b/uid.c
index 934eae82..c7f007e4 100644
--- a/uid.c
+++ b/uid.c
@@ -389,6 +389,18 @@ void update_str_lists(struct query *ctl)
}
}
+void uid_expunge(struct query *ctl)
+/* transfer seen UIDs from newsaved to oldsaved
+ to simulate writing anad rereading .fetchids */
+{
+ struct idlist *i;
+
+ for (i = ctl->newsaved; i; i = i->next)
+ if (i->val.status.mark == UID_SEEN &&
+ !str_in_list(&ctl->oldsaved, i->id, FALSE))
+ save_str(&ctl->oldsaved, i->id, UID_SEEN);
+}
+
void write_saved_lists(struct query *hostlist, const char *idfile)
/* perform end-of-run write of seen-messages list */
{