summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2008-10-09 09:48:10 +0000
committeralecpl <alec@alec.pl>2008-10-09 09:48:10 +0000
commit7ae46f2b1dd87a0bdc046e1a0d12fbf3ca141c14 (patch)
tree5e26cd80bf49e0cd1fb6281875eed414111d8dbc
parente3b7a3789035a5c95dcae8d82b0978b64473c5f3 (diff)
- fixed iil_C_Sort() to support very long and/or divided responses (#1485283)
-rw-r--r--CHANGELOG4
-rw-r--r--program/lib/imap.inc7
2 files changed, 9 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index d43c474d2..4a0e8a570 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,10 @@
CHANGELOG RoundCube Webmail
---------------------------
+2008/10/09 (alec)
+----------
+- fixed iil_C_Sort() to support very long and/or divided responses (#1485283)
+
2008/10/08 (alec)
----------
- Fix imap searching on ISMail server (#1485466)
diff --git a/program/lib/imap.inc b/program/lib/imap.inc
index 98173687b..c78e67ad5 100644
--- a/program/lib/imap.inc
+++ b/program/lib/imap.inc
@@ -67,6 +67,7 @@
- remove 'undisclosed-recipients' string from 'To' header
- iil_C_HandlePartBody(): added 6th argument and fixed endless loop
- added iil_PutLineC()
+ - fixed iil_C_Sort() to support very long and/or divided responses
********************************************************/
@@ -912,8 +913,10 @@ function iil_C_Sort(&$conn, $mailbox, $field, $add='', $is_uid=FALSE,
do {
$line = chop(iil_ReadLine($fp, 1024));
if (iil_StartsWith($line, '* SORT')) {
- $data .= ($data?' ':'') . substr($line, 7);
- }
+ $data .= ($data ? ' ' : '') . substr($line, 7);
+ } else if (preg_match('/^[0-9 ]+$/', $line)) {
+ $data .= $line;
+ }
} while ($line[0]!='s');
if (empty($data)) {