xref: /aosp_15_r20/external/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // OutStreamWithCRC.cpp
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #include "StdAfx.h"
4*f6dc9357SAndroid Build Coastguard Worker 
5*f6dc9357SAndroid Build Coastguard Worker #include "OutStreamWithCRC.h"
6*f6dc9357SAndroid Build Coastguard Worker 
Z7_COM7F_IMF(COutStreamWithCRC::Write (const void * data,UInt32 size,UInt32 * processedSize))7*f6dc9357SAndroid Build Coastguard Worker Z7_COM7F_IMF(COutStreamWithCRC::Write(const void *data, UInt32 size, UInt32 *processedSize))
8*f6dc9357SAndroid Build Coastguard Worker {
9*f6dc9357SAndroid Build Coastguard Worker   HRESULT result = S_OK;
10*f6dc9357SAndroid Build Coastguard Worker   if (_stream)
11*f6dc9357SAndroid Build Coastguard Worker     result = _stream->Write(data, size, &size);
12*f6dc9357SAndroid Build Coastguard Worker   if (_calculate)
13*f6dc9357SAndroid Build Coastguard Worker     _crc = CrcUpdate(_crc, data, size);
14*f6dc9357SAndroid Build Coastguard Worker   _size += size;
15*f6dc9357SAndroid Build Coastguard Worker   if (processedSize)
16*f6dc9357SAndroid Build Coastguard Worker     *processedSize = size;
17*f6dc9357SAndroid Build Coastguard Worker   return result;
18*f6dc9357SAndroid Build Coastguard Worker }
19