From e508617acee08836f3617e48470f591a36264fed Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Sun, 22 Dec 2019 17:50:43 -0500 Subject: Use sequence numbers rather than UIDs We aren't doing any expunging or anything across different sessions, so it's safe to just use sequence numbers. --- imbox.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/imbox.c b/imbox.c index 850e9b8..bdc8a16 100644 --- a/imbox.c +++ b/imbox.c @@ -283,7 +283,7 @@ int main(int argc, char *argv[]) { setlinebuf(imap); bool login = false; - char *uids = NULL; + char *nums = NULL; char *line = NULL; size_t cap = 0; @@ -315,7 +315,7 @@ int main(int argc, char *argv[]) { fprintf(imap, "%s EXAMINE %s\r\n", Atoms[Examine], mailbox); } break; case Examine: { - fprintf(imap, "%s UID SEARCH CHARSET UTF-8", Atoms[Search]); + fprintf(imap, "%s SEARCH CHARSET UTF-8", Atoms[Search]); if (subject) fprintf(imap, " SUBJECT \"%s\"", subject); if (from) fprintf(imap, " FROM \"%s\"", from); if (to) fprintf(imap, " TO \"%s\"", to); @@ -323,20 +323,20 @@ int main(int argc, char *argv[]) { fprintf(imap, "\r\n"); } break; case Search: { - if (!uids) errx(EX_PROTOCOL, "no search response"); - for (char *ch = uids; *ch; ++ch) { + if (!nums) errx(EX_PROTOCOL, "no search response"); + for (char *ch = nums; *ch; ++ch) { if (*ch == ' ') *ch = ','; } fprintf( imap, - "%s UID FETCH %s (BODY[HEADER.FIELDS (" + "%s FETCH %s (BODY[HEADER.FIELDS (" "Date From To Cc Subject Message-Id In-Reply-To " "Content-Transfer-Encoding" ")] BODY[TEXT])\r\n", - Atoms[Fetch], uids + Atoms[Fetch], nums ); - free(uids); - uids = NULL; + free(nums); + nums = NULL; } break; case Fetch: { fprintf(imap, "ayy LOGOUT\r\n"); @@ -349,8 +349,8 @@ int main(int argc, char *argv[]) { switch (resp) { break; case Search: { if (!rest) errx(EX_TEMPFAIL, "no matching messages"); - uids = strdup(rest); - if (!uids) err(EX_OSERR, "strdup"); + nums = strdup(rest); + if (!nums) err(EX_OSERR, "strdup"); } break; case Fetch: { char *headers = readLiteral(imap, rest); -- cgit 1.4.1