mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-08 22:07:07 -06:00
16.01
This commit is contained in:
committed by
Kornel Lesiński
parent
66ac98bb02
commit
bec3b479dc
@@ -297,11 +297,14 @@ HRESULT CInArchive::FindMarker(IInStream *stream, const UInt64 *searchLimit)
|
||||
if (searchLimit && *searchLimit == 0)
|
||||
{
|
||||
Byte startBuf[kMarkerSize];
|
||||
size_t processed = kMarkerSize;
|
||||
RINOK(ReadStream(stream, startBuf, &processed));
|
||||
m_Position += processed;
|
||||
if (processed < kMarkerSize)
|
||||
return S_FALSE;
|
||||
{
|
||||
size_t processed = kMarkerSize;
|
||||
RINOK(ReadStream(stream, startBuf, &processed));
|
||||
m_Position += processed;
|
||||
if (processed != kMarkerSize)
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
m_Signature = Get32(startBuf);
|
||||
|
||||
if (m_Signature != NSignature::kEcd &&
|
||||
@@ -318,7 +321,7 @@ HRESULT CInArchive::FindMarker(IInStream *stream, const UInt64 *searchLimit)
|
||||
size_t processed = kMarkerSize;
|
||||
RINOK(ReadStream(stream, startBuf, &processed));
|
||||
m_Position += processed;
|
||||
if (processed < kMarkerSize)
|
||||
if (processed != kMarkerSize)
|
||||
return S_FALSE;
|
||||
m_Signature = Get32(startBuf);
|
||||
if (m_Signature != NSignature::kEcd &&
|
||||
@@ -1567,7 +1570,7 @@ HRESULT CInArchive::ReadVols()
|
||||
if (Vols.StartIsZip)
|
||||
Vols.ZipStream = StartStream;
|
||||
|
||||
bool cdOK = false;
|
||||
// bool cdOK = false;
|
||||
|
||||
if (Vols.ZipStream)
|
||||
{
|
||||
@@ -1589,12 +1592,16 @@ HRESULT CInArchive::ReadVols()
|
||||
// Vols.EndVolIndex = ecd.ThisDisk;
|
||||
unsigned numMissingVols;
|
||||
if (cdDisk == zipDisk)
|
||||
cdOK = true;
|
||||
{
|
||||
// cdOK = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
RINOK(ReadVols2(volCallback, cdDisk, zipDisk, zipDisk, 0, numMissingVols));
|
||||
if (numMissingVols == 0)
|
||||
cdOK = false;
|
||||
{
|
||||
// cdOK = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (res != S_FALSE)
|
||||
|
||||
@@ -596,6 +596,7 @@ static HRESULT Update2(
|
||||
UInt64 numBytesToCompress = 0;
|
||||
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < updateItems.Size(); i++)
|
||||
{
|
||||
const CUpdateItem &ui = updateItems[i];
|
||||
@@ -731,7 +732,6 @@ static HRESULT Update2(
|
||||
for (i = 0; i < updateItems.Size(); i++)
|
||||
refs.Refs.Add(CMemBlocks2());
|
||||
|
||||
UInt32 i;
|
||||
for (i = 0; i < numThreads; i++)
|
||||
threads.Threads.Add(CThreadInfo(options2));
|
||||
|
||||
@@ -804,9 +804,9 @@ static HRESULT Update2(
|
||||
RINOK(updateCallback->SetOperationResult(NArchive::NUpdate::NOperationResult::kOK));
|
||||
}
|
||||
|
||||
for (UInt32 i = 0; i < numThreads; i++)
|
||||
for (UInt32 k = 0; k < numThreads; k++)
|
||||
{
|
||||
CThreadInfo &threadInfo = threads.Threads[i];
|
||||
CThreadInfo &threadInfo = threads.Threads[k];
|
||||
if (threadInfo.IsFree)
|
||||
{
|
||||
threadInfo.IsFree = false;
|
||||
@@ -822,7 +822,7 @@ static HRESULT Update2(
|
||||
threadInfo.UpdateIndex = mtItemIndex - 1;
|
||||
|
||||
compressingCompletedEvents.Add(threadInfo.CompressionCompletedEvent);
|
||||
threadIndices.Add(i);
|
||||
threadIndices.Add(k);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -927,10 +927,10 @@ static HRESULT Update2(
|
||||
}
|
||||
else
|
||||
{
|
||||
CMemBlocks2 &memRef = refs.Refs[threadInfo.UpdateIndex];
|
||||
threadInfo.OutStreamSpec->DetachData(memRef);
|
||||
memRef.CompressingResult = threadInfo.CompressingResult;
|
||||
memRef.Defined = true;
|
||||
CMemBlocks2 &memRef2 = refs.Refs[threadInfo.UpdateIndex];
|
||||
threadInfo.OutStreamSpec->DetachData(memRef2);
|
||||
memRef2.CompressingResult = threadInfo.CompressingResult;
|
||||
memRef2.Defined = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user