diff -r 5f819b90d479 -r 99b265e0d1d0 misc/libphysfs/lzma/CPP/7zip/Compress/Copy/CopyCoder.cpp --- a/misc/libphysfs/lzma/CPP/7zip/Compress/Copy/CopyCoder.cpp Thu Oct 11 23:43:31 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -// Compress/CopyCoder.cpp - -#include "StdAfx.h" - -extern "C" -{ -#include "../../../../C/Alloc.h" -} - -#include "CopyCoder.h" -#include "../../Common/StreamUtils.h" - -namespace NCompress { - -static const UInt32 kBufferSize = 1 << 17; - -CCopyCoder::~CCopyCoder() -{ - ::MidFree(_buffer); -} - -STDMETHODIMP CCopyCoder::Code(ISequentialInStream *inStream, - ISequentialOutStream *outStream, - const UInt64 * /* inSize */, const UInt64 *outSize, - ICompressProgressInfo *progress) -{ - if (_buffer == 0) - { - _buffer = (Byte *)::MidAlloc(kBufferSize); - if (_buffer == 0) - return E_OUTOFMEMORY; - } - - TotalSize = 0; - for (;;) - { - UInt32 realProcessedSize; - UInt32 size = kBufferSize; - if (outSize != 0) - if (size > *outSize - TotalSize) - size = (UInt32)(*outSize - TotalSize); - RINOK(inStream->Read(_buffer, size, &realProcessedSize)); - if (realProcessedSize == 0) - break; - RINOK(WriteStream(outStream, _buffer, realProcessedSize, NULL)); - TotalSize += realProcessedSize; - if (progress != NULL) - { - RINOK(progress->SetRatioInfo(&TotalSize, &TotalSize)); - } - } - return S_OK; -} - -STDMETHODIMP CCopyCoder::GetInStreamProcessedSize(UInt64 *value) -{ - *value = TotalSize; - return S_OK; -} - -} -