diff options
-rw-r--r-- | imap.c | 5 | ||||
-rw-r--r-- | imap.h | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/imap.c b/imap.c index b47a520..e3349a7 100644 --- a/imap.c +++ b/imap.c @@ -173,6 +173,11 @@ struct Resp imapResp(FILE *imap) { data = parseData(imap); if (data.type != Atom) errx(EX_PROTOCOL, "expected tag atom"); resp.tag = data.atom; + if (resp.tag == AtomContinue) { + if (*ptr == ' ') ptr++; + resp.text = ptr; + return resp; + } data = parseData(imap); if (data.type == Number) { diff --git a/imap.h b/imap.h index 0aa5636..1bb57f5 100644 --- a/imap.h +++ b/imap.h @@ -60,7 +60,8 @@ X(AtomHeader, "HEADER") \ X(AtomText, "TEXT") \ X(AtomDot, ".") \ - X(AtomUntagged, "*") + X(AtomUntagged, "*") \ + X(AtomContinue, "+") enum Atom { #define X(id, str) id, |