original_string: protected function _openMboxFile($filename)
      {
          if ($this->_fh) {
              $this->close();
          }
  
          $this->_fh = @fopen($filename, 'r');
          if (!$this->_fh) {
              /**
               * @see Zend_Mail_Storage_Exception
               */
              // require_once 'Zend/Mail/Storage/Exception.php';
              throw new Zend_Mail_Storage_Exception('cannot open mbox file');
          }
          $this->_filename = $filename;
          $this->_filemtime = filemtime($this->_filename);
  
          if (!$this->_isMboxFile($this->_fh, false)) {
              @fclose($this->_fh);
              /**
               * @see Zend_Mail_Storage_Exception
               */
              // require_once 'Zend/Mail/Storage/Exception.php';
              throw new Zend_Mail_Storage_Exception('file is not a valid mbox format');
          }
  
          $messagePos = array('start' => ftell($this->_fh), 'separator' => 0, 'end' => 0);
          while (($line = fgets($this->_fh)) !== false) {
              if (strpos($line, 'From ') === 0) {
                  $messagePos['end'] = ftell($this->_fh) - strlen($line) - 2; // + newline
                  if (!$messagePos['separator']) {
                      $messagePos['separator'] = $messagePos['end'];
                  }
                  $this->_positions[] = $messagePos;
                  $messagePos = array('start' => ftell($this->_fh), 'separator' => 0, 'end' => 0);
              }
              if (!$messagePos['separator'] && !trim($line)) {
                  $messagePos['separator'] = ftell($this->_fh);
              }
          }
  
          $messagePos['end'] = ftell($this->_fh);
          if (!$messagePos['separator']) {
              $messagePos['separator'] = $messagePos['end'];
          }
          $this->_positions[] = $messagePos;
      }
code: protected function _openMboxFile($filename)
      {
          if ($this->_fh) {
              $this->close();
          }
  
          $this->_fh = @fopen($filename, 'r');
          if (!$this->_fh) {
              /**
               * @see Zend_Mail_Storage_Exception
               */
              // require_once 'Zend/Mail/Storage/Exception.php';
              throw new Zend_Mail_Storage_Exception('cannot open mbox file');
          }
          $this->_filename = $filename;
          $this->_filemtime = filemtime($this->_filename);
  
          if (!$this->_isMboxFile($this->_fh, false)) {
              @fclose($this->_fh);
              /**
               * @see Zend_Mail_Storage_Exception
               */
              // require_once 'Zend/Mail/Storage/Exception.php';
              throw new Zend_Mail_Storage_Exception('file is not a valid mbox format');
          }
  
          $messagePos = array('start' => ftell($this->_fh), 'separator' => 0, 'end' => 0);
          while (($line = fgets($this->_fh)) !== false) {
              if (strpos($line, 'From ') === 0) {
                  $messagePos['end'] = ftell($this->_fh) - strlen($line) - 2; // + newline
                  if (!$messagePos['separator']) {
                      $messagePos['separator'] = $messagePos['end'];
                  }
                  $this->_positions[] = $messagePos;
                  $messagePos = array('start' => ftell($this->_fh), 'separator' => 0, 'end' => 0);
              }
              if (!$messagePos['separator'] && !trim($line)) {
                  $messagePos['separator'] = ftell($this->_fh);
              }
          }
  
          $messagePos['end'] = ftell($this->_fh);
          if (!$messagePos['separator']) {
              $messagePos['separator'] = $messagePos['end'];
          }
          $this->_positions[] = $messagePos;
      }
code_tokens: protected function _openMboxFile ( $ filename ) { if ( $ this -> _fh ) { $ this -> close ( ) ; } $ this -> _fh = @ fopen ( $ filename , 'r' ) ; if ( ! $ this -> _fh ) { /**
               * @see Zend_Mail_Storage_Exception
               */ // require_once 'Zend/Mail/Storage/Exception.php'; throw new Zend_Mail_Storage_Exception ( 'cannot open mbox file' ) ; } $ this -> _filename = $ filename ; $ this -> _filemtime = filemtime ( $ this -> _filename ) ; if ( ! $ this -> _isMboxFile ( $ this -> _fh , false ) ) { @ fclose ( $ this -> _fh ) ; /**
               * @see Zend_Mail_Storage_Exception
               */ // require_once 'Zend/Mail/Storage/Exception.php'; throw new Zend_Mail_Storage_Exception ( 'file is not a valid mbox format' ) ; } $ messagePos = array ( 'start' => ftell ( $ this -> _fh ) , 'separator' => 0 , 'end' => 0 ) ; while ( ( $ line = fgets ( $ this -> _fh ) ) !== false ) { if ( strpos ( $ line , 'From ' ) === 0 ) { $ messagePos [ 'end' ] = ftell ( $ this -> _fh ) - strlen ( $ line ) - 2 ; // + newline if ( ! $ messagePos [ 'separator' ] ) { $ messagePos [ 'separator' ] = $ messagePos [ 'end' ] ; } $ this -> _positions [ ] = $ messagePos ; $ messagePos = array ( 'start' => ftell ( $ this -> _fh ) , 'separator' => 0 , 'end' => 0 ) ; } if ( ! $ messagePos [ 'separator' ] && ! trim ( $ line ) ) { $ messagePos [ 'separator' ] = ftell ( $ this -> _fh ) ; } } $ messagePos [ 'end' ] = ftell ( $ this -> _fh ) ; if ( ! $ messagePos [ 'separator' ] ) { $ messagePos [ 'separator' ] = $ messagePos [ 'end' ] ; } $ this -> _positions [ ] = $ messagePos ; }
docstring: open given file as current mbox file
  
  @param  string $filename filename of mbox file
  @return null
  @throws Zend_Mail_Storage_Exception
docstring_tokens: open given file as current mbox file