From 1bc39932df86c82a92bce9e5cea938e8ed83b2b2 Mon Sep 17 00:00:00 2001 From: Brian White Date: Mon, 31 Dec 2012 12:03:09 -0500 Subject: [PATCH] relax parsing for search/sort results --- lib/imap.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/imap.js b/lib/imap.js index 132d6f0..0329ba9 100644 --- a/lib/imap.js +++ b/lib/imap.js @@ -25,7 +25,7 @@ var CRLF = '\r\n', RE_UNRESP = /^\* (OK|PREAUTH|NO|BAD) (?:\[(.+)\] )?(.+)$/i, RE_CMD = /^([^ ]+)(?: |$)/, RE_ISHEADER = /HEADER/, - REX_UNRESPDATA = XRegExp('^\\* (?:(?:(?NAMESPACE) (?(?:NIL|\\((?:\\(.+\\))+\\))) (?(?:NIL|\\((?:\\(.+\\))+\\))) (?(?:NIL|\\((?:\\(.+\\))+\\))))|(?:(?FLAGS) \\((?.*)\\))|(?:(?LIST|LSUB|XLIST) \\((?.*)\\) (?".+"|NIL) (?.+))|(?:(?(SEARCH|SORT))(?: (?.+))?)|(?:(?STATUS) (?.+) \\((?.*)\\))|(?:(?CAPABILITY) (?.+))|(?:(?BYE) (?:\\[(?.+)\\] )?(?.+)))$', 'i'), + REX_UNRESPDATA = XRegExp('^\\* (?:(?:(?NAMESPACE) (?(?:NIL|\\((?:\\(.+\\))+\\))) (?(?:NIL|\\((?:\\(.+\\))+\\))) (?(?:NIL|\\((?:\\(.+\\))+\\))))|(?:(?FLAGS) \\((?.*)\\))|(?:(?LIST|LSUB|XLIST) \\((?.*)\\) (?".+"|NIL) (?.+))|(?:(?(SEARCH|SORT))(?: (?.*))?)|(?:(?STATUS) (?.+) \\((?.*)\\))|(?:(?CAPABILITY) (?.+))|(?:(?BYE) (?:\\[(?.+)\\] )?(?.+)))$', 'i'), REX_UNRESPNUM = XRegExp('^\\* (?\\d+) (?:(?EXISTS)|(?RECENT)|(?EXPUNGE)|(?:(?FETCH) \\((?.*)\\)))$', 'i'); // extension constants @@ -427,7 +427,9 @@ ImapConnection.prototype.connect = function(loginCb) { case 'SEARCH': case 'SORT': // m.results = list of 0+ uid/seq numbers (undefined if none) - requests[0].cbargs.push((m.results ? m.results.split(' ') : [])); + requests[0].cbargs.push(m.results + ? m.results.trim().split(' ') + : []); break; case 'STATUS': // m.mailbox = mailbox name (string)