Index: third_party/lzma/v4_65/files/CS/7zip/Compress/LZ/LzOutWindow.cs |
diff --git a/third_party/lzma/v4_65/files/CS/7zip/Compress/LZ/LzOutWindow.cs b/third_party/lzma/v4_65/files/CS/7zip/Compress/LZ/LzOutWindow.cs |
deleted file mode 100644 |
index c998584aca6c7bd19d7a314b88e2794b7e73dd45..0000000000000000000000000000000000000000 |
--- a/third_party/lzma/v4_65/files/CS/7zip/Compress/LZ/LzOutWindow.cs |
+++ /dev/null |
@@ -1,110 +0,0 @@ |
-// LzOutWindow.cs |
- |
-namespace SevenZip.Compression.LZ |
-{ |
- public class OutWindow |
- { |
- byte[] _buffer = null; |
- uint _pos; |
- uint _windowSize = 0; |
- uint _streamPos; |
- System.IO.Stream _stream; |
- |
- public uint TrainSize = 0; |
- |
- public void Create(uint windowSize) |
- { |
- if (_windowSize != windowSize) |
- { |
- // System.GC.Collect(); |
- _buffer = new byte[windowSize]; |
- } |
- _windowSize = windowSize; |
- _pos = 0; |
- _streamPos = 0; |
- } |
- |
- public void Init(System.IO.Stream stream, bool solid) |
- { |
- ReleaseStream(); |
- _stream = stream; |
- if (!solid) |
- { |
- _streamPos = 0; |
- _pos = 0; |
- TrainSize = 0; |
- } |
- } |
- |
- public bool Train(System.IO.Stream stream) |
- { |
- long len = stream.Length; |
- uint size = (len < _windowSize) ? (uint)len : _windowSize; |
- TrainSize = size; |
- stream.Position = len - size; |
- _streamPos = _pos = 0; |
- while (size > 0) |
- { |
- uint curSize = _windowSize - _pos; |
- if (size < curSize) |
- curSize = size; |
- int numReadBytes = stream.Read(_buffer, (int)_pos, (int)curSize); |
- if (numReadBytes == 0) |
- return false; |
- size -= (uint)numReadBytes; |
- _pos += (uint)numReadBytes; |
- _streamPos += (uint)numReadBytes; |
- if (_pos == _windowSize) |
- _streamPos = _pos = 0; |
- } |
- return true; |
- } |
- |
- public void ReleaseStream() |
- { |
- Flush(); |
- _stream = null; |
- } |
- |
- public void Flush() |
- { |
- uint size = _pos - _streamPos; |
- if (size == 0) |
- return; |
- _stream.Write(_buffer, (int)_streamPos, (int)size); |
- if (_pos >= _windowSize) |
- _pos = 0; |
- _streamPos = _pos; |
- } |
- |
- public void CopyBlock(uint distance, uint len) |
- { |
- uint pos = _pos - distance - 1; |
- if (pos >= _windowSize) |
- pos += _windowSize; |
- for (; len > 0; len--) |
- { |
- if (pos >= _windowSize) |
- pos = 0; |
- _buffer[_pos++] = _buffer[pos++]; |
- if (_pos >= _windowSize) |
- Flush(); |
- } |
- } |
- |
- public void PutByte(byte b) |
- { |
- _buffer[_pos++] = b; |
- if (_pos >= _windowSize) |
- Flush(); |
- } |
- |
- public byte GetByte(uint distance) |
- { |
- uint pos = _pos - distance - 1; |
- if (pos >= _windowSize) |
- pos += _windowSize; |
- return _buffer[pos]; |
- } |
- } |
-} |