diff options
author | thomascube <thomas@roundcube.net> | 2008-08-18 12:33:26 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2008-08-18 12:33:26 +0000 |
commit | fab43d2eb5c9d413a6fc097291a197094ed3dd99 (patch) | |
tree | d07e421ff15f5a2ded7576f5f1fc9679a672fe0c /program | |
parent | e223df762ae099f0e48115aac257f97ead7deb13 (diff) |
Better fix for bodystructure parsing (#1485280)
Diffstat (limited to 'program')
-rw-r--r-- | program/lib/imap.inc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/program/lib/imap.inc b/program/lib/imap.inc index 600b0d408..84d1b36b9 100644 --- a/program/lib/imap.inc +++ b/program/lib/imap.inc @@ -2576,11 +2576,11 @@ function iil_C_FetchStructureString(&$conn, $folder, $id) { $line = iil_ReadLine($fp, 5000); $line = iil_MultLine($fp, $line); list(, $index, $cmd, $rest) = explode(' ', $line); - if ($cmd != 'FETCH' || $index == $id) + if ($cmd != 'FETCH' || $index == $id || preg_match("/^$key/", $line)) $result .= $line; } while (!preg_match("/^$key/", $line)); - $result = trim(substr($result, strpos($result, 'BODYSTRUCTURE')+13)); + $result = trim(substr($result, strpos($result, 'BODYSTRUCTURE')+13, -(strlen($result)-strrpos($result, $key)+1))); } } return $result; |