Index: third_party/lzma/v4_65/files/CS/7zip/Compress/LZ/LzInWindow.cs |
diff --git a/third_party/lzma/v4_65/files/CS/7zip/Compress/LZ/LzInWindow.cs b/third_party/lzma/v4_65/files/CS/7zip/Compress/LZ/LzInWindow.cs |
deleted file mode 100644 |
index 52d23ce39b5d7cc6579416a982cc7d9d119a203b..0000000000000000000000000000000000000000 |
--- a/third_party/lzma/v4_65/files/CS/7zip/Compress/LZ/LzInWindow.cs |
+++ /dev/null |
@@ -1,132 +0,0 @@ |
-// LzInWindow.cs |
- |
-using System; |
- |
-namespace SevenZip.Compression.LZ |
-{ |
- public class InWindow |
- { |
- public Byte[] _bufferBase = null; // pointer to buffer with data |
- System.IO.Stream _stream; |
- UInt32 _posLimit; // offset (from _buffer) of first byte when new block reading must be done |
- bool _streamEndWasReached; // if (true) then _streamPos shows real end of stream |
- |
- UInt32 _pointerToLastSafePosition; |
- |
- public UInt32 _bufferOffset; |
- |
- public UInt32 _blockSize; // Size of Allocated memory block |
- public UInt32 _pos; // offset (from _buffer) of curent byte |
- UInt32 _keepSizeBefore; // how many BYTEs must be kept in buffer before _pos |
- UInt32 _keepSizeAfter; // how many BYTEs must be kept buffer after _pos |
- public UInt32 _streamPos; // offset (from _buffer) of first not read byte from Stream |
- |
- public void MoveBlock() |
- { |
- UInt32 offset = (UInt32)(_bufferOffset) + _pos - _keepSizeBefore; |
- // we need one additional byte, since MovePos moves on 1 byte. |
- if (offset > 0) |
- offset--; |
- |
- UInt32 numBytes = (UInt32)(_bufferOffset) + _streamPos - offset; |
- |
- // check negative offset ???? |
- for (UInt32 i = 0; i < numBytes; i++) |
- _bufferBase[i] = _bufferBase[offset + i]; |
- _bufferOffset -= offset; |
- } |
- |
- public virtual void ReadBlock() |
- { |
- if (_streamEndWasReached) |
- return; |
- while (true) |
- { |
- int size = (int)((0 - _bufferOffset) + _blockSize - _streamPos); |
- if (size == 0) |
- return; |
- int numReadBytes = _stream.Read(_bufferBase, (int)(_bufferOffset + _streamPos), size); |
- if (numReadBytes == 0) |
- { |
- _posLimit = _streamPos; |
- UInt32 pointerToPostion = _bufferOffset + _posLimit; |
- if (pointerToPostion > _pointerToLastSafePosition) |
- _posLimit = (UInt32)(_pointerToLastSafePosition - _bufferOffset); |
- |
- _streamEndWasReached = true; |
- return; |
- } |
- _streamPos += (UInt32)numReadBytes; |
- if (_streamPos >= _pos + _keepSizeAfter) |
- _posLimit = _streamPos - _keepSizeAfter; |
- } |
- } |
- |
- void Free() { _bufferBase = null; } |
- |
- public void Create(UInt32 keepSizeBefore, UInt32 keepSizeAfter, UInt32 keepSizeReserv) |
- { |
- _keepSizeBefore = keepSizeBefore; |
- _keepSizeAfter = keepSizeAfter; |
- UInt32 blockSize = keepSizeBefore + keepSizeAfter + keepSizeReserv; |
- if (_bufferBase == null || _blockSize != blockSize) |
- { |
- Free(); |
- _blockSize = blockSize; |
- _bufferBase = new Byte[_blockSize]; |
- } |
- _pointerToLastSafePosition = _blockSize - keepSizeAfter; |
- } |
- |
- public void SetStream(System.IO.Stream stream) { _stream = stream; } |
- public void ReleaseStream() { _stream = null; } |
- |
- public void Init() |
- { |
- _bufferOffset = 0; |
- _pos = 0; |
- _streamPos = 0; |
- _streamEndWasReached = false; |
- ReadBlock(); |
- } |
- |
- public void MovePos() |
- { |
- _pos++; |
- if (_pos > _posLimit) |
- { |
- UInt32 pointerToPostion = _bufferOffset + _pos; |
- if (pointerToPostion > _pointerToLastSafePosition) |
- MoveBlock(); |
- ReadBlock(); |
- } |
- } |
- |
- public Byte GetIndexByte(Int32 index) { return _bufferBase[_bufferOffset + _pos + index]; } |
- |
- // index + limit have not to exceed _keepSizeAfter; |
- public UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit) |
- { |
- if (_streamEndWasReached) |
- if ((_pos + index) + limit > _streamPos) |
- limit = _streamPos - (UInt32)(_pos + index); |
- distance++; |
- // Byte *pby = _buffer + (size_t)_pos + index; |
- UInt32 pby = _bufferOffset + _pos + (UInt32)index; |
- |
- UInt32 i; |
- for (i = 0; i < limit && _bufferBase[pby + i] == _bufferBase[pby + i - distance]; i++); |
- return i; |
- } |
- |
- public UInt32 GetNumAvailableBytes() { return _streamPos - _pos; } |
- |
- public void ReduceOffsets(Int32 subValue) |
- { |
- _bufferOffset += (UInt32)subValue; |
- _posLimit -= (UInt32)subValue; |
- _pos -= (UInt32)subValue; |
- _streamPos -= (UInt32)subValue; |
- } |
- } |
-} |