1.20.x system.tar.inc public Archive_Tar::_jumpBlock($p_len = null)

Parameters

null $p_len:

Return value

bool:

File

modules/system/system.tar.inc, line 1137

Class

Archive_Tar

Code

public function _jumpBlock($p_len = null) 
 {
  if (is_resource($this->_file)) {
    if ($p_len === null) {
      $p_len = 1;
    }

    if ($this->_compress_type == 'gz') {
      @gzseek($this->_file, gztell($this->_file) + ($p_len * 512));
    }
    else {
      if ($this->_compress_type == 'bz2') {
        // ----- Replace missing bztell() and bzseek()
        for ($i = 0; $i < $p_len; $i++) {
          $this->_readBlock();
        }
      }
      else {
        if ($this->_compress_type == 'lzma2') {
          // ----- Replace missing xztell() and xzseek()
          for ($i = 0; $i < $p_len; $i++) {
            $this->_readBlock();
          }
        }
        else {
          if ($this->_compress_type == 'none') {
            @fseek($this->_file, $p_len * 512, SEEK_CUR);
          }
          else {
            $this->_error(
            'Unknown or missing compression type ('
              . $this->_compress_type . ')'
              );
          }
        }
      }
    }
  }
  return true;
}