private void CreateZip64EndOfCentralDirectoryLocatorBlock() { int index = this._blockList.IndexOf(this.EndOfCentralDirectoryBlock); this._zip64EndOfCentralDirectoryLocatorBlock = ZipIOZip64EndOfCentralDirectoryLocatorBlock.CreateNew(this); this.InsertBlock(index, this._zip64EndOfCentralDirectoryLocatorBlock); }
internal static ZipIOZip64EndOfCentralDirectoryLocatorBlock CreateNew(ZipIOBlockManager blockManager) { ZipIOZip64EndOfCentralDirectoryLocatorBlock block = new ZipIOZip64EndOfCentralDirectoryLocatorBlock(blockManager); block._offset = 0L; block._size = 0L; block._dirtyFlag = false; return(block); }
internal static ZipIOZip64EndOfCentralDirectoryLocatorBlock SeekableLoad(ZipIOBlockManager blockManager) { long offset = blockManager.EndOfCentralDirectoryBlock.Offset - 20L; blockManager.Stream.Seek(offset, SeekOrigin.Begin); ZipIOZip64EndOfCentralDirectoryLocatorBlock block = new ZipIOZip64EndOfCentralDirectoryLocatorBlock(blockManager); block.ParseRecord(blockManager.BinaryReader, offset); return(block); }
private void LoadZip64EndOfCentralDirectoryLocatorBlock() { this._zip64EndOfCentralDirectoryLocatorBlock = ZipIOZip64EndOfCentralDirectoryLocatorBlock.SeekableLoad(this); this.MapBlock(this._zip64EndOfCentralDirectoryLocatorBlock); }
private void CreateLoadZip64Blocks() { this.CheckDisposed(); if ((!this.Streaming && this.EndOfCentralDirectoryBlock.ContainValuesHintingToPossibilityOfZip64) && ZipIOZip64EndOfCentralDirectoryLocatorBlock.SniffTheBlockSignature(this)) { this.LoadZip64EndOfCentralDirectoryLocatorBlock(); this.LoadZip64EndOfCentralDirectoryBlock(); } else { this._endOfCentralDirectoryBlock.ValidateZip64TriggerValues(); this.CreateZip64EndOfCentralDirectoryLocatorBlock(); this.CreateZip64EndOfCentralDirectoryBlock(); } }