summaryrefslogtreecommitdiffstats
path: root/src/libs/7zip/win/CPP/7zip/Common/OutBuffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/7zip/win/CPP/7zip/Common/OutBuffer.cpp')
-rw-r--r--src/libs/7zip/win/CPP/7zip/Common/OutBuffer.cpp111
1 files changed, 0 insertions, 111 deletions
diff --git a/src/libs/7zip/win/CPP/7zip/Common/OutBuffer.cpp b/src/libs/7zip/win/CPP/7zip/Common/OutBuffer.cpp
deleted file mode 100644
index 4ba34a053..000000000
--- a/src/libs/7zip/win/CPP/7zip/Common/OutBuffer.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// OutBuffer.cpp
-
-#include "StdAfx.h"
-
-#include "../../../C/Alloc.h"
-
-#include "OutBuffer.h"
-
-bool COutBuffer::Create(UInt32 bufSize) throw()
-{
- const UInt32 kMinBlockSize = 1;
- if (bufSize < kMinBlockSize)
- bufSize = kMinBlockSize;
- if (_buf != 0 && _bufSize == bufSize)
- return true;
- Free();
- _bufSize = bufSize;
- _buf = (Byte *)::MidAlloc(bufSize);
- return (_buf != 0);
-}
-
-void COutBuffer::Free() throw()
-{
- ::MidFree(_buf);
- _buf = 0;
-}
-
-void COutBuffer::Init() throw()
-{
- _streamPos = 0;
- _limitPos = _bufSize;
- _pos = 0;
- _processedSize = 0;
- _overDict = false;
- #ifdef _NO_EXCEPTIONS
- ErrorCode = S_OK;
- #endif
-}
-
-UInt64 COutBuffer::GetProcessedSize() const throw()
-{
- UInt64 res = _processedSize + _pos - _streamPos;
- if (_streamPos > _pos)
- res += _bufSize;
- return res;
-}
-
-
-HRESULT COutBuffer::FlushPart() throw()
-{
- // _streamPos < _bufSize
- UInt32 size = (_streamPos >= _pos) ? (_bufSize - _streamPos) : (_pos - _streamPos);
- HRESULT result = S_OK;
- #ifdef _NO_EXCEPTIONS
- result = ErrorCode;
- #endif
- if (_buf2 != 0)
- {
- memcpy(_buf2, _buf + _streamPos, size);
- _buf2 += size;
- }
-
- if (_stream != 0
- #ifdef _NO_EXCEPTIONS
- && (ErrorCode == S_OK)
- #endif
- )
- {
- UInt32 processedSize = 0;
- result = _stream->Write(_buf + _streamPos, size, &processedSize);
- size = processedSize;
- }
- _streamPos += size;
- if (_streamPos == _bufSize)
- _streamPos = 0;
- if (_pos == _bufSize)
- {
- _overDict = true;
- _pos = 0;
- }
- _limitPos = (_streamPos > _pos) ? _streamPos : _bufSize;
- _processedSize += size;
- return result;
-}
-
-HRESULT COutBuffer::Flush() throw()
-{
- #ifdef _NO_EXCEPTIONS
- if (ErrorCode != S_OK)
- return ErrorCode;
- #endif
-
- while (_streamPos != _pos)
- {
- HRESULT result = FlushPart();
- if (result != S_OK)
- return result;
- }
- return S_OK;
-}
-
-void COutBuffer::FlushWithCheck()
-{
- HRESULT result = Flush();
- #ifdef _NO_EXCEPTIONS
- ErrorCode = result;
- #else
- if (result != S_OK)
- throw COutBufferException(result);
- #endif
-}