- Improve handling of situation when FETCH returns OK, but no data

pull/1/head
alecpl 13 years ago
parent b407e797c2
commit 1ae1199858

@ -1962,6 +1962,10 @@ class rcube_imap
$headers = $this->get_headers($uid, $mailbox);
// message doesn't exist?
if (empty($headers))
return null;
// structure might be cached
if (!empty($headers->structure))
return $headers;
@ -2382,15 +2386,11 @@ class rcube_imap
$o_part->charset = rcube_imap_generic::getStructurePartCharset($structure, $part);
}
// TODO: Add caching for message parts
if (!$part) {
$part = 'TEXT';
if ($o_part && $o_part->size) {
$body = $this->conn->handlePartBody($this->mailbox, $uid, true,
$part ? $part : 'TEXT', $o_part->encoding, $print, $fp);
}
$body = $this->conn->handlePartBody($this->mailbox, $uid, true, $part,
$o_part->encoding, $print, $fp);
if ($fp || $print) {
return true;
}

@ -2393,8 +2393,10 @@ class rcube_imap_generic
$len = strlen($line);
$result = false;
if ($a[2] != 'FETCH') {
}
// handle empty "* X FETCH ()" response
if ($line[$len-1] == ')' && $line[$len-2] != '(') {
else if ($line[$len-1] == ')' && $line[$len-2] != '(') {
// one line response, get everything between first and last quotes
if (substr($line, -4, 3) == 'NIL') {
// NIL response

Loading…
Cancel
Save