X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fimap_general.php;h=df3cf24dee11e82b2bcf79eac59a6bda3aff63c4;hb=bccadd02ea81378ee49716158af085058c48ee57;hp=09543e740060c0d6c190f6a1920cdf08d6e753bc;hpb=f1e6f580186aed693bd544e31895422f49642571;p=squirrelmail.git diff --git a/functions/imap_general.php b/functions/imap_general.php index 09543e74..df3cf24d 100755 --- a/functions/imap_general.php +++ b/functions/imap_general.php @@ -1,6 +1,9 @@ $read
\n"; - flush(); -} - $size = 0; + + // For debugging purposes + if ($imap_general_debug) { + echo "$read
\n"; + flush(); + } + + $size = -1; $data[] = $read; $read = fgets($imap_stream, 9096); } else { - $size = 0; + $size = -1; } while (1) { while (strpos($read, "\n") === false) { $read .= fgets($imap_stream, 9096); } -// For debugging purposes -if ($imap_general_debug) { - echo "$read
\n"; - flush(); -} + + // For debugging purposes + if ($imap_general_debug) { + echo "$read
\n"; + flush(); + } + // If we know the size, no need to look at the end parameters if ($size > 0) { if ($total_size == $size) { @@ -91,7 +98,7 @@ if ($imap_general_debug) { $total_size += strlen($read); } else { if (ereg("^$pre (OK|BAD|NO)(.*)", $read, $regs) || - ereg("^\\* [0-9]+ FETCH.*", $read, $regs)) { + (($size == -1) && ereg("^\\* [0-9]+ FETCH.*", $read, $regs))) { break; } else { $data[] = $read; @@ -109,10 +116,8 @@ if ($imap_general_debug) { $response = $regs[1]; $message = trim($regs[2]); -if ($imap_general_debug) echo '--
'; - - if ($handle_errors == false) - return $resultlist; + if ($imap_general_debug) { echo '--
'; } + if ($handle_errors == false) { return $resultlist; } if ($response == 'NO') { // ignore this error from m$ exchange, it is not fatal (aka bug)