| Index: third_party/lzma/v4_65/files/CPP/7zip/Archive/7z/7zFolderInStream.cpp
|
| diff --git a/third_party/lzma/v4_65/files/CPP/7zip/Archive/7z/7zFolderInStream.cpp b/third_party/lzma/v4_65/files/CPP/7zip/Archive/7z/7zFolderInStream.cpp
|
| deleted file mode 100644
|
| index b029ae157dbf736aa42201330b70dd3850f00844..0000000000000000000000000000000000000000
|
| --- a/third_party/lzma/v4_65/files/CPP/7zip/Archive/7z/7zFolderInStream.cpp
|
| +++ /dev/null
|
| @@ -1,130 +0,0 @@
|
| -// 7zFolderInStream.cpp
|
| -
|
| -#include "StdAfx.h"
|
| -
|
| -#include "7zFolderInStream.h"
|
| -
|
| -namespace NArchive {
|
| -namespace N7z {
|
| -
|
| -CFolderInStream::CFolderInStream()
|
| -{
|
| - _inStreamWithHashSpec = new CSequentialInStreamWithCRC;
|
| - _inStreamWithHash = _inStreamWithHashSpec;
|
| -}
|
| -
|
| -void CFolderInStream::Init(IArchiveUpdateCallback *updateCallback,
|
| - const UInt32 *fileIndices, UInt32 numFiles)
|
| -{
|
| - _updateCallback = updateCallback;
|
| - _numFiles = numFiles;
|
| - _fileIndex = 0;
|
| - _fileIndices = fileIndices;
|
| - Processed.Clear();
|
| - CRCs.Clear();
|
| - Sizes.Clear();
|
| - _fileIsOpen = false;
|
| - _currentSizeIsDefined = false;
|
| -}
|
| -
|
| -HRESULT CFolderInStream::OpenStream()
|
| -{
|
| - _filePos = 0;
|
| - while (_fileIndex < _numFiles)
|
| - {
|
| - _currentSizeIsDefined = false;
|
| - CMyComPtr<ISequentialInStream> stream;
|
| - HRESULT result = _updateCallback->GetStream(_fileIndices[_fileIndex], &stream);
|
| - if (result != S_OK && result != S_FALSE)
|
| - return result;
|
| - _fileIndex++;
|
| - _inStreamWithHashSpec->SetStream(stream);
|
| - _inStreamWithHashSpec->Init();
|
| - if (!stream)
|
| - {
|
| - RINOK(_updateCallback->SetOperationResult(NArchive::NUpdate::NOperationResult::kOK));
|
| - Sizes.Add(0);
|
| - Processed.Add(result == S_OK);
|
| - AddDigest();
|
| - continue;
|
| - }
|
| - CMyComPtr<IStreamGetSize> streamGetSize;
|
| - if (stream.QueryInterface(IID_IStreamGetSize, &streamGetSize) == S_OK)
|
| - {
|
| - if(streamGetSize)
|
| - {
|
| - _currentSizeIsDefined = true;
|
| - RINOK(streamGetSize->GetSize(&_currentSize));
|
| - }
|
| - }
|
| -
|
| - _fileIsOpen = true;
|
| - return S_OK;
|
| - }
|
| - return S_OK;
|
| -}
|
| -
|
| -void CFolderInStream::AddDigest()
|
| -{
|
| - CRCs.Add(_inStreamWithHashSpec->GetCRC());
|
| -}
|
| -
|
| -HRESULT CFolderInStream::CloseStream()
|
| -{
|
| - RINOK(_updateCallback->SetOperationResult(NArchive::NUpdate::NOperationResult::kOK));
|
| - _inStreamWithHashSpec->ReleaseStream();
|
| - _fileIsOpen = false;
|
| - Processed.Add(true);
|
| - Sizes.Add(_filePos);
|
| - AddDigest();
|
| - return S_OK;
|
| -}
|
| -
|
| -STDMETHODIMP CFolderInStream::Read(void *data, UInt32 size, UInt32 *processedSize)
|
| -{
|
| - UInt32 realProcessedSize = 0;
|
| - while ((_fileIndex < _numFiles || _fileIsOpen) && size > 0)
|
| - {
|
| - if (_fileIsOpen)
|
| - {
|
| - UInt32 localProcessedSize;
|
| - RINOK(_inStreamWithHash->Read(
|
| - ((Byte *)data) + realProcessedSize, size, &localProcessedSize));
|
| - if (localProcessedSize == 0)
|
| - {
|
| - RINOK(CloseStream());
|
| - continue;
|
| - }
|
| - realProcessedSize += localProcessedSize;
|
| - _filePos += localProcessedSize;
|
| - size -= localProcessedSize;
|
| - break;
|
| - }
|
| - else
|
| - {
|
| - RINOK(OpenStream());
|
| - }
|
| - }
|
| - if (processedSize != 0)
|
| - *processedSize = realProcessedSize;
|
| - return S_OK;
|
| -}
|
| -
|
| -STDMETHODIMP CFolderInStream::GetSubStreamSize(UInt64 subStream, UInt64 *value)
|
| -{
|
| - *value = 0;
|
| - int subStreamIndex = (int)subStream;
|
| - if (subStreamIndex < 0 || subStream > Sizes.Size())
|
| - return E_FAIL;
|
| - if (subStreamIndex < Sizes.Size())
|
| - {
|
| - *value= Sizes[subStreamIndex];
|
| - return S_OK;
|
| - }
|
| - if (!_currentSizeIsDefined)
|
| - return S_FALSE;
|
| - *value = _currentSize;
|
| - return S_OK;
|
| -}
|
| -
|
| -}}
|
|
|