Details
Description
Try to parse (using Zend_Mail_Protocol_Imap::_decodeLine() ) the following line "* STATUS blurdybloop (MESSAGES 231 UNSEEN 0)", in the result you'll miss last "0" token. It's because of incorrect parsing of tokens in the following code fragment (file Zend/Mail/Protocol/Imap.php)
// only add if token had more than just closing braces if ($token) { $tokens[] = $token; }
In input line above last token is "0" but expression "if ($token) {" treat it as numeric 0 and hence as a FALSE value. So instead of adding string "0" code ignores it.
Issue Links
| This issue is related to: | ||||
| ZF-7547 | Zend_Mail_Protocol_Imap::_decodeLine incorrectly parses some kind of strings |
|
|
|
Sergei, I think following code, do you think? If "(some strings 0 )" would be passed, it seems to work fine.
if (rtrim($token) != '') { $tokens[] = rtrim($token); }if (rtrim($token) != '') { $tokens[] = rtrim($token); }