From bab44e23d43b064fa1995975434db88913a1ce20 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Mon, 13 Apr 2020 16:18:37 -0400 Subject: Use two FILEs for IMAP Turns out that funopen cannot be used for a full-duplex socket. --- archive.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'archive.c') diff --git a/archive.c b/archive.c index d505949..992b592 100644 --- a/archive.c +++ b/archive.c @@ -104,6 +104,9 @@ int main(int argc, char *argv[]) { if (!pass) errx(EX_CONFIG, ENV_PASSWORD " unset"); } + FILE *imapRead, *imap; + imapOpen(&imapRead, &imap, host, port); + enum { Ready, Login, @@ -123,8 +126,7 @@ int main(int argc, char *argv[]) { uint32_t uidNext = 0; struct List threads = {0}; - FILE *imap = imapOpen(host, port); - for (struct Resp resp; resp = imapResp(imap), resp.resp != AtomBye;) { + for (struct Resp resp; resp = imapResp(imapRead), resp.resp != AtomBye;) { if (resp.resp == AtomNo || resp.resp == AtomBad) { errx(EX_CONFIG, "%s %s", Atoms[resp.resp], resp.text); } @@ -221,5 +223,6 @@ int main(int argc, char *argv[]) { } respFree(resp); } + fclose(imapRead); fclose(imap); } -- cgit 1.4.1