Bostjan Skufca
2016-04-09 55d90b2f621a9c144b54b07b4e1dafd0fdad0e85
program/lib/Roundcube/rcube_result_thread.php
@@ -26,6 +26,8 @@
 */
class rcube_result_thread
{
    public $incomplete = false;
    protected $raw_data;
    protected $mailbox;
    protected $meta = array();
@@ -250,22 +252,10 @@
            return;
        }
        $raw_data_reverse = implode(self::SEPARATOR_ELEMENT, array_reverse(explode(self::SEPARATOR_ELEMENT, $this->raw_data)));
        $this->raw_data = $raw_data_reverse;
        $this->meta['pos'] = array();
        $datalen = strlen($this->raw_data);
        $result  = '';
        $start   = 0;
        while (($pos = @strpos($this->raw_data, self::SEPARATOR_ELEMENT, $start))
            || ($start < $datalen && ($pos = $datalen))
        ) {
            $len   = $pos - $start;
            $elem  = substr($this->raw_data, $start, $len);
            $start = $pos + 1;
            $result = $elem . self::SEPARATOR_ELEMENT . $result;
        }
        $this->raw_data = rtrim($result, self::SEPARATOR_ELEMENT);
    }
@@ -453,7 +443,7 @@
        // when sorting search result it's good to make the index smaller
        if ($index->count() != $this->count_messages()) {
            $index->intersect($this->get());
            $index->filter($this->get());
        }
        $result  = array_fill_keys($index->get(), null);