Aleksander Machniak
2016-04-10 463d07824e66273d6233f0f8fac8095aed32c28e
Merge pull request #5194 from bostjan/optimization/make-thread-listing-faster

Make rcube_result_thread::revert() faster
1 files modified
18 ■■■■ changed files
program/lib/Roundcube/rcube_result_thread.php 18 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_result_thread.php
@@ -242,22 +242,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);
    }
    /**