Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'CPP/7zip/Compress/Rar3Decoder.cpp')
-rw-r--r--CPP/7zip/Compress/Rar3Decoder.cpp80
1 files changed, 40 insertions, 40 deletions
diff --git a/CPP/7zip/Compress/Rar3Decoder.cpp b/CPP/7zip/Compress/Rar3Decoder.cpp
index 81eb8285..496400a4 100644
--- a/CPP/7zip/Compress/Rar3Decoder.cpp
+++ b/CPP/7zip/Compress/Rar3Decoder.cpp
@@ -568,26 +568,26 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing)
}
levelLevels[i] = (Byte)length;
}
- RIF(m_LevelDecoder.SetCodeLengths(levelLevels));
+ RIF(m_LevelDecoder.Build(levelLevels));
i = 0;
while (i < kTablesSizesSum)
{
- UInt32 number = m_LevelDecoder.DecodeSymbol(&m_InBitStream.BitDecoder);
- if (number < 16)
+ UInt32 sym = m_LevelDecoder.Decode(&m_InBitStream.BitDecoder);
+ if (sym < 16)
{
- newLevels[i] = Byte((number + m_LastLevels[i]) & 15);
+ newLevels[i] = Byte((sym + m_LastLevels[i]) & 15);
i++;
}
- else if (number > kLevelTableSize)
+ else if (sym > kLevelTableSize)
return S_FALSE;
else
{
int num;
- if (((number - 16) & 1) == 0)
+ if (((sym - 16) & 1) == 0)
num = ReadBits(3) + 3;
else
num = ReadBits(7) + 11;
- if (number < 18)
+ if (sym < 18)
{
if (i == 0)
return S_FALSE;
@@ -612,10 +612,10 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing)
}
*/
- RIF(m_MainDecoder.SetCodeLengths(&newLevels[0]));
- RIF(m_DistDecoder.SetCodeLengths(&newLevels[kMainTableSize]));
- RIF(m_AlignDecoder.SetCodeLengths(&newLevels[kMainTableSize + kDistTableSize]));
- RIF(m_LenDecoder.SetCodeLengths(&newLevels[kMainTableSize + kDistTableSize + kAlignTableSize]));
+ RIF(m_MainDecoder.Build(&newLevels[0]));
+ RIF(m_DistDecoder.Build(&newLevels[kMainTableSize]));
+ RIF(m_AlignDecoder.Build(&newLevels[kMainTableSize + kDistTableSize]));
+ RIF(m_LenDecoder.Build(&newLevels[kMainTableSize + kDistTableSize + kAlignTableSize]));
memcpy(m_LastLevels, newLevels, kTablesSizesSum);
return S_OK;
@@ -687,38 +687,38 @@ HRESULT CDecoder::DecodeLZ(bool &keepDecompressing)
if (InputEofError_Fast())
return S_FALSE;
- UInt32 number = m_MainDecoder.DecodeSymbol(&m_InBitStream.BitDecoder);
- if (number < 256)
+ UInt32 sym = m_MainDecoder.Decode(&m_InBitStream.BitDecoder);
+ if (sym < 256)
{
- PutByte((Byte)number);
+ PutByte((Byte)sym);
continue;
}
- else if (number == kSymbolReadTable)
+ else if (sym == kSymbolReadTable)
{
RINOK(ReadEndOfBlock(keepDecompressing));
break;
}
- else if (number == 257)
+ else if (sym == 257)
{
if (!ReadVmCodeLZ())
return S_FALSE;
continue;
}
- else if (number == 258)
+ else if (sym == 258)
{
if (length == 0)
return S_FALSE;
}
- else if (number < kSymbolRep + 4)
+ else if (sym < kSymbolRep + 4)
{
- if (number != kSymbolRep)
+ if (sym != kSymbolRep)
{
UInt32 distance;
- if (number == kSymbolRep + 1)
+ if (sym == kSymbolRep + 1)
distance = rep1;
else
{
- if (number == kSymbolRep + 2)
+ if (sym == kSymbolRep + 2)
distance = rep2;
else
{
@@ -731,32 +731,32 @@ HRESULT CDecoder::DecodeLZ(bool &keepDecompressing)
rep0 = distance;
}
- UInt32 number = m_LenDecoder.DecodeSymbol(&m_InBitStream.BitDecoder);
- if (number >= kLenTableSize)
+ UInt32 sym = m_LenDecoder.Decode(&m_InBitStream.BitDecoder);
+ if (sym >= kLenTableSize)
return S_FALSE;
- length = 2 + kLenStart[number] + m_InBitStream.BitDecoder.ReadBits(kLenDirectBits[number]);
+ length = 2 + kLenStart[sym] + m_InBitStream.BitDecoder.ReadBits(kLenDirectBits[sym]);
}
else
{
rep3 = rep2;
rep2 = rep1;
rep1 = rep0;
- if (number < 271)
+ if (sym < 271)
{
- number -= 263;
- rep0 = kLen2DistStarts[number] + m_InBitStream.BitDecoder.ReadBits(kLen2DistDirectBits[number]);
+ sym -= 263;
+ rep0 = kLen2DistStarts[sym] + m_InBitStream.BitDecoder.ReadBits(kLen2DistDirectBits[sym]);
length = 2;
}
- else if (number < 299)
+ else if (sym < 299)
{
- number -= 271;
- length = kNormalMatchMinLen + (UInt32)kLenStart[number] + m_InBitStream.BitDecoder.ReadBits(kLenDirectBits[number]);
- UInt32 number = m_DistDecoder.DecodeSymbol(&m_InBitStream.BitDecoder);
- if (number >= kDistTableSize)
+ sym -= 271;
+ length = kNormalMatchMinLen + (UInt32)kLenStart[sym] + m_InBitStream.BitDecoder.ReadBits(kLenDirectBits[sym]);
+ UInt32 sym = m_DistDecoder.Decode(&m_InBitStream.BitDecoder);
+ if (sym >= kDistTableSize)
return S_FALSE;
- rep0 = kDistStart[number];
- int numBits = kDistDirectBits[number];
- if (number >= (kNumAlignBits * 2) + 2)
+ rep0 = kDistStart[sym];
+ int numBits = kDistDirectBits[sym];
+ if (sym >= (kNumAlignBits * 2) + 2)
{
if (numBits > kNumAlignBits)
rep0 += (m_InBitStream.BitDecoder.ReadBits(numBits - kNumAlignBits) << kNumAlignBits);
@@ -767,13 +767,13 @@ HRESULT CDecoder::DecodeLZ(bool &keepDecompressing)
}
else
{
- UInt32 number = m_AlignDecoder.DecodeSymbol(&m_InBitStream.BitDecoder);
- if (number < (1 << kNumAlignBits))
+ UInt32 sym = m_AlignDecoder.Decode(&m_InBitStream.BitDecoder);
+ if (sym < (1 << kNumAlignBits))
{
- rep0 += number;
- PrevAlignBits = number;
+ rep0 += sym;
+ PrevAlignBits = sym;
}
- else if (number == (1 << kNumAlignBits))
+ else if (sym == (1 << kNumAlignBits))
{
PrevAlignCount = kNumAlignReps;
rep0 += PrevAlignBits;