alecpl
2009-07-11 4bac28966359c8278d058b50852e0ddb5565cd9a
program/lib/imap.inc
@@ -277,13 +277,14 @@
   $len  = 0;
   do {
      $d = fread($fp, $bytes-$len);
                $data .= $d;
      if ($len == strlen($data)) {
                  break; //nothing was read -> exit to avoid apache lockups
          }
      if(!empty($my_prefs['debug_mode']))
         write_log('imap', 'S: '. $d);
          $len = strlen($data);
                $data .= $d;
      $data_len = strlen($data);
      if ($len == $data_len) {
                  break; //nothing was read -> exit to avoid apache lockups
          }
          $len = $data_len;
   } while ($len < $bytes);
   
   return $data;
@@ -328,7 +329,7 @@
   return false;
}
function iil_StartsWithI($string, $match, $bye=false) {
function iil_StartsWithI($string, $match, $error=false) {
   $len = strlen($match);
   if ($len == 0) {
      return false;
@@ -336,7 +337,7 @@
   if (strncasecmp($string, $match, $len) == 0) {
      return true;
   }
   if ($bye && strncmp($string, '* BYE ', 6) == 0) {
   if ($error && preg_match('/^\* (BYE|BAD) /i', $string)) {
      return true;
   }
@@ -791,7 +792,7 @@
            if (strcasecmp($a[2], 'EXISTS') == 0) {
               $conn->exists = (int) $a[1];
            }
            if (strcasecmp($a[2], 'RECENT') == 0) {
            else if (strcasecmp($a[2], 'RECENT') == 0) {
               $conn->recent = (int) $a[1];
            }
         }
@@ -2272,8 +2273,9 @@
                
                      if ($len > $bytes) {
                             $line = substr($line, 0, $bytes);
               $len = strlen($line);
                      }
                     $bytes -= strlen($line);
                     $bytes -= $len;
                      if ($mode == 1) {
               $line = rtrim($line, "\t\r\n\0\x0B");
@@ -2352,7 +2354,6 @@
      do {
         $line=iil_ReadLine($fp, 300);
      } while ($line[0] != 'c');
        $conn->error = $line;
      return (iil_ParseResult($line) == 0);
   }
   return false;
@@ -2377,7 +2378,6 @@
      } while ($line[0] != 'd');
      return (iil_ParseResult($line) == 0);
   }
   $conn->error = "Couldn't send command\n";
   return false;
}