From 3e9d89ce69f59f21df98b20decc383d081c00e3b Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Fri, 10 Apr 2020 13:29:47 -0400 Subject: Fix UIDNEXT check and write --- archive.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'archive.c') diff --git a/archive.c b/archive.c index c2e7f5c..e741b4e 100644 --- a/archive.c +++ b/archive.c @@ -153,9 +153,9 @@ int main(int argc, char *argv[]) { if (!previous) uidWrite("UIDVALIDITY", validity); } if (code == AtomUIDNext) { - uint32_t next = resp.code.ptr[1].number; + uidNext = resp.code.ptr[1].number; uint32_t prev = uidRead("UIDNEXT"); - if (next == prev) { + if (uidNext == prev) { examine = 0; fprintf(imap, "ayy LOGOUT\r\n"); } @@ -193,8 +193,12 @@ int main(int argc, char *argv[]) { concat = concatFetch(imap, threads); } + if (concat && resp.tag == concat) { + uidWrite("UIDNEXT", uidNext); + fprintf(imap, "ayy LOGOUT\r\n"); + } + respFree(resp); } fclose(imap); - uidWrite("UIDNEXT", uidNext); } -- cgit 1.4.1