From b5c2469d4921f70e0a47ae7261c70cd263b39b72 Mon Sep 17 00:00:00 2001 From: till <till@php.net> Date: Sat, 22 Mar 2008 09:15:00 -0400 Subject: [PATCH] * committed a suggestion from #1483956 * cleaned up two functions --- program/lib/imap.inc | 42 +++++++++++++++++++++++------------------- 1 files changed, 23 insertions(+), 19 deletions(-) diff --git a/program/lib/imap.inc b/program/lib/imap.inc index 3d20d9e..96353dd 100644 --- a/program/lib/imap.inc +++ b/program/lib/imap.inc @@ -161,18 +161,19 @@ } function iil_ReadLine($fp, $size) { - $line = ''; - if ($fp) { - do { - // FIXME: hardcode size? - $buffer = fgets($fp, 2048); - if ($buffer === false) { - break; - } - $line .= $buffer; - } while ($buffer[strlen($buffer)-1]!="\n"); - } - return $line; + $line = ''; + if (!$fp) { + return $line; + } + do { + // FIXME: hardcode size? + $buffer = fgets($fp, 2048); + if ($buffer === false) { + break; + } + $line .= $buffer; + } while ($buffer[strlen($buffer)-1] != "\n"); + return $line; } function iil_MultLine($fp, $line) { @@ -192,13 +193,16 @@ } function iil_ReadBytes($fp, $bytes) { - $data = ''; - $len = 0; - do { - $data.=fread($fp, $bytes-$len); - $len = strlen($data); - } while ($len<$bytes); - return $data; + $data = ''; + $len = 0; + do { + $data .= fread($fp, $bytes-$len); + if ($len == strlen($data)) { + break; //nothing was read -> exit to avoid apache lockups + } + $len = strlen($data); + } while ($len < $bytes); + return $data; } function iil_ReadReply($fp) { -- Gitblit v1.9.1