Aleksander Machniak
2012-09-12 a98f79532de302e01b4133289b21f920baefa223
Fix is_error() returns wrong result for empty result set
2 files modified
6 ■■■■■ changed files
program/include/rcube_result_index.php 4 ●●●● patch | view | raw | blame | history
program/include/rcube_result_thread.php 2 ●●●●● patch | view | raw | blame | history
program/include/rcube_result_index.php
@@ -64,10 +64,14 @@
        for ($i=0, $len=count($data); $i<$len; $i++) {
            $data_item = &$data[$i];
            if (preg_match('/^ SORT/i', $data_item)) {
                // valid response, initialize raw_data for is_error()
                $this->raw_data = '';
                $data_item = substr($data_item, 5);
                break;
            }
            else if (preg_match('/^ (E?SEARCH)/i', $data_item, $m)) {
                // valid response, initialize raw_data for is_error()
                $this->raw_data = '';
                $data_item = substr($data_item, strlen($m[0]));
                if (strtoupper($m[1]) == 'ESEARCH') {
program/include/rcube_result_thread.php
@@ -64,6 +64,8 @@
        // ...skip unilateral untagged server responses
        for ($i=0, $len=count($data); $i<$len; $i++) {
            if (preg_match('/^ THREAD/i', $data[$i])) {
                // valid response, initialize raw_data for is_error()
                $this->raw_data = '';
                $data[$i] = substr($data[$i], 7);
                break;
            }