diff options
author | kh1 <karsten.heimrich@digia.com> | 2013-04-30 14:04:20 +0200 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@digia.com> | 2013-05-02 14:36:21 +0200 |
commit | 323c7f177ec76fa64dfe239806d0f5ba365c51c7 (patch) | |
tree | cdb69b2c55f39e4d3aa28053de7ac7d650170df3 /src/libs/7zip/unix/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp | |
parent | bf99b6d9d595fd229174645c8c22abc23da81f5a (diff) |
Reset to only use the basic LZMA SDK (Unix).
Change-Id: Ic7607229197f74cdf88c46684b1413e00466185d
Reviewed-by: Niels Weber <niels.weber@digia.com>
Diffstat (limited to 'src/libs/7zip/unix/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp')
-rw-r--r-- | src/libs/7zip/unix/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/src/libs/7zip/unix/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp b/src/libs/7zip/unix/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp deleted file mode 100644 index 25194f915..000000000 --- a/src/libs/7zip/unix/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp +++ /dev/null @@ -1,78 +0,0 @@ -// RarVolumeInStream.cpp - -#include "StdAfx.h" - -#include "../../../../C/7zCrc.h" - -#include "RarVolumeInStream.h" - -namespace NArchive { -namespace NRar { - -void CFolderInStream::Init( - CObjectVector<CInArchive> *archives, - const CObjectVector<CItemEx> *items, - const CRefItem &refItem) -{ - _archives = archives; - _items = items; - _refItem = refItem; - _curIndex = 0; - CRCs.Clear(); - _fileIsOpen = false; -} - -HRESULT CFolderInStream::OpenStream() -{ - while (_curIndex < _refItem.NumItems) - { - const CItemEx &item = (*_items)[_refItem.ItemIndex + _curIndex]; - _stream.Attach((*_archives)[_refItem.VolumeIndex + _curIndex]. - CreateLimitedStream(item.GetDataPosition(), item.PackSize)); - _curIndex++; - _fileIsOpen = true; - _crc = CRC_INIT_VAL; - return S_OK; - } - return S_OK; -} - -HRESULT CFolderInStream::CloseStream() -{ - CRCs.Add(CRC_GET_DIGEST(_crc)); - _stream.Release(); - _fileIsOpen = false; - return S_OK; -} - -STDMETHODIMP CFolderInStream::Read(void *data, UInt32 size, UInt32 *processedSize) -{ - UInt32 realProcessedSize = 0; - while ((_curIndex < _refItem.NumItems || _fileIsOpen) && size > 0) - { - if (_fileIsOpen) - { - UInt32 localProcessedSize; - RINOK(_stream->Read( - ((Byte *)data) + realProcessedSize, size, &localProcessedSize)); - _crc = CrcUpdate(_crc, ((Byte *)data) + realProcessedSize, localProcessedSize); - if (localProcessedSize == 0) - { - RINOK(CloseStream()); - continue; - } - realProcessedSize += localProcessedSize; - size -= localProcessedSize; - break; - } - else - { - RINOK(OpenStream()); - } - } - if (processedSize != 0) - *processedSize = realProcessedSize; - return S_OK; -} - -}} |