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:
-rw-r--r--C/7zVersion.h8
-rw-r--r--C/Aes.c10
-rw-r--r--C/Ppmd7.c8
-rw-r--r--C/Ppmd7.h6
-rw-r--r--C/Ppmd8.c6
-rw-r--r--C/Sha1.c7
-rw-r--r--C/Sha1.h4
-rw-r--r--CPP/7zip/Archive/Rar/RarHandler.cpp8
-rw-r--r--CPP/7zip/Archive/Rar/RarHandler.h4
-rw-r--r--CPP/7zip/Archive/Rar/RarHeader.h3
-rw-r--r--CPP/7zip/Archive/SplitHandler.cpp10
-rw-r--r--CPP/7zip/Archive/Wim/WimHandler.cpp2
-rw-r--r--CPP/7zip/Crypto/RarAes.cpp8
-rw-r--r--CPP/7zip/Crypto/RarAes.h4
-rw-r--r--CPP/7zip/Crypto/Sha1Cls.h2
-rw-r--r--CPP/7zip/UI/Common/Bench.cpp41
-rw-r--r--CPP/7zip/UI/Common/OpenArchive.cpp4
-rw-r--r--CPP/7zip/UI/FileManager/LinkDialog.cpp2
-rw-r--r--CPP/7zip/UI/FileManager/PanelCrc.cpp4
-rw-r--r--CPP/7zip/UI/GUI/UpdateGUI.cpp2
-rw-r--r--DOC/7zip.inf4
-rw-r--r--DOC/7zip.nsi2
-rw-r--r--DOC/7zip.wxs2
-rw-r--r--DOC/readme.txt2
-rw-r--r--DOC/src-history.txt7
25 files changed, 86 insertions, 74 deletions
diff --git a/C/7zVersion.h b/C/7zVersion.h
index 9faf5a4e..e884fc67 100644
--- a/C/7zVersion.h
+++ b/C/7zVersion.h
@@ -1,9 +1,9 @@
#define MY_VER_MAJOR 16
-#define MY_VER_MINOR 01
+#define MY_VER_MINOR 02
#define MY_VER_BUILD 0
-#define MY_VERSION_NUMBERS "16.01"
-#define MY_VERSION "16.01"
-#define MY_DATE "2016-05-19"
+#define MY_VERSION_NUMBERS "16.02"
+#define MY_VERSION "16.02"
+#define MY_DATE "2016-05-21"
#undef MY_COPYRIGHT
#undef MY_VERSION_COPYRIGHT_DATE
#define MY_AUTHOR_NAME "Igor Pavlov"
diff --git a/C/Aes.c b/C/Aes.c
index 7c100c55..b10b9e58 100644
--- a/C/Aes.c
+++ b/C/Aes.c
@@ -1,5 +1,5 @@
/* Aes.c -- AES encryption / decryption
-2015-02-23 : Igor Pavlov : Public domain */
+2016-05-21 : Igor Pavlov : Public domain */
#include "Precomp.h"
@@ -167,10 +167,10 @@ void MY_FAST_CALL Aes_SetKey_Dec(UInt32 *w, const Byte *key, unsigned keySize)
{
UInt32 r = w[i];
w[i] =
- D[ Sbox[gb0(r)]] ^
- D[0x100 + Sbox[gb1(r)]] ^
- D[0x200 + Sbox[gb2(r)]] ^
- D[0x300 + Sbox[gb3(r)]];
+ D[ (unsigned)Sbox[gb0(r)]] ^
+ D[0x100 + (unsigned)Sbox[gb1(r)]] ^
+ D[0x200 + (unsigned)Sbox[gb2(r)]] ^
+ D[0x300 + (unsigned)Sbox[gb3(r)]];
}
}
diff --git a/C/Ppmd7.c b/C/Ppmd7.c
index 7ef84d47..eda8eb70 100644
--- a/C/Ppmd7.c
+++ b/C/Ppmd7.c
@@ -1,5 +1,5 @@
/* Ppmd7.c -- PPMdH codec
-2015-09-28 : Igor Pavlov : Public domain
+2016-05-21 : Igor Pavlov : Public domain
This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */
#include "Precomp.h"
@@ -639,10 +639,10 @@ CPpmd_See *Ppmd7_MakeEscFreq(CPpmd7 *p, unsigned numMasked, UInt32 *escFreq)
unsigned nonMasked = p->MinContext->NumStats - numMasked;
if (p->MinContext->NumStats != 256)
{
- see = p->See[p->NS2Indx[nonMasked - 1]] +
+ see = p->See[(unsigned)p->NS2Indx[nonMasked - 1]] +
(nonMasked < (unsigned)SUFFIX(p->MinContext)->NumStats - p->MinContext->NumStats) +
- 2 * (p->MinContext->SummFreq < 11 * p->MinContext->NumStats) +
- 4 * (numMasked > nonMasked) +
+ 2 * (unsigned)(p->MinContext->SummFreq < 11 * p->MinContext->NumStats) +
+ 4 * (unsigned)(numMasked > nonMasked) +
p->HiBitsFlag;
{
unsigned r = (see->Summ >> see->Shift);
diff --git a/C/Ppmd7.h b/C/Ppmd7.h
index 96521c31..87eefde8 100644
--- a/C/Ppmd7.h
+++ b/C/Ppmd7.h
@@ -1,5 +1,5 @@
/* Ppmd7.h -- PPMdH compression codec
-2010-03-12 : Igor Pavlov : Public domain
+2016-05-21 : Igor Pavlov : Public domain
This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */
/* This code supports virtual RangeDecoder and includes the implementation
@@ -86,10 +86,10 @@ void Ppmd7_Update2(CPpmd7 *p);
void Ppmd7_UpdateBin(CPpmd7 *p);
#define Ppmd7_GetBinSumm(p) \
- &p->BinSumm[Ppmd7Context_OneState(p->MinContext)->Freq - 1][p->PrevSuccess + \
+ &p->BinSumm[(unsigned)Ppmd7Context_OneState(p->MinContext)->Freq - 1][p->PrevSuccess + \
p->NS2BSIndx[Ppmd7_GetContext(p, p->MinContext->Suffix)->NumStats - 1] + \
(p->HiBitsFlag = p->HB2Flag[p->FoundState->Symbol]) + \
- 2 * p->HB2Flag[Ppmd7Context_OneState(p->MinContext)->Symbol] + \
+ 2 * p->HB2Flag[(unsigned)Ppmd7Context_OneState(p->MinContext)->Symbol] + \
((p->RunLength >> 26) & 0x20)]
CPpmd_See *Ppmd7_MakeEscFreq(CPpmd7 *p, unsigned numMasked, UInt32 *scale);
diff --git a/C/Ppmd8.c b/C/Ppmd8.c
index ee18431d..b60d10fe 100644
--- a/C/Ppmd8.c
+++ b/C/Ppmd8.c
@@ -1,5 +1,5 @@
/* Ppmd8.c -- PPMdI codec
-2016-05-16 : Igor Pavlov : Public domain
+2016-05-21 : Igor Pavlov : Public domain
This code is based on PPMd var.I (2002): Dmitry Shkarin : Public domain */
#include "Precomp.h"
@@ -1038,9 +1038,9 @@ CPpmd_See *Ppmd8_MakeEscFreq(CPpmd8 *p, unsigned numMasked1, UInt32 *escFreq)
CPpmd_See *see;
if (p->MinContext->NumStats != 0xFF)
{
- see = p->See[p->NS2Indx[p->MinContext->NumStats + 2] - 3] +
+ see = p->See[(unsigned)p->NS2Indx[(unsigned)p->MinContext->NumStats + 2] - 3] +
(p->MinContext->SummFreq > 11 * ((unsigned)p->MinContext->NumStats + 1)) +
- 2 * (2 * (unsigned)p->MinContext->NumStats <
+ 2 * (unsigned)(2 * (unsigned)p->MinContext->NumStats <
((unsigned)SUFFIX(p->MinContext)->NumStats + numMasked1)) +
p->MinContext->Flags;
{
diff --git a/C/Sha1.c b/C/Sha1.c
index 040cfe50..55c1c63c 100644
--- a/C/Sha1.c
+++ b/C/Sha1.c
@@ -1,5 +1,5 @@
/* Sha1.c -- SHA-1 Hash
-2016-02-09 : Igor Pavlov : Public domain
+2016-05-20 : Igor Pavlov : Public domain
This code is based on public domain code of Steve Reid from Wei Dai's Crypto++ library. */
#include "Precomp.h"
@@ -212,7 +212,7 @@ void Sha1_Update(CSha1 *p, const Byte *data, size_t size)
}
}
-void Sha1_Update_Rar(CSha1 *p, Byte *data, size_t size, int rar350Mode)
+void Sha1_Update_Rar(CSha1 *p, Byte *data, size_t size /* , int rar350Mode */)
{
int returnRes = False;
@@ -246,7 +246,8 @@ void Sha1_Update_Rar(CSha1 *p, Byte *data, size_t size, int rar350Mode)
SetUi32(prev, d);
}
}
- returnRes = rar350Mode;
+ // returnRes = rar350Mode;
+ returnRes = True;
}
}
}
diff --git a/C/Sha1.h b/C/Sha1.h
index e578a826..aa22ec36 100644
--- a/C/Sha1.h
+++ b/C/Sha1.h
@@ -1,5 +1,5 @@
/* Sha1.h -- SHA-1 Hash
-2015-03-04 : Igor Pavlov : Public domain */
+2016-05-20 : Igor Pavlov : Public domain */
#ifndef __7Z_SHA1_H
#define __7Z_SHA1_H
@@ -27,7 +27,7 @@ void Sha1_GetBlockDigest(CSha1 *p, const UInt32 *data, UInt32 *destDigest);
void Sha1_Update(CSha1 *p, const Byte *data, size_t size);
void Sha1_Final(CSha1 *p, Byte *digest);
-void Sha1_Update_Rar(CSha1 *p, Byte *data, size_t size, int rar350Mode);
+void Sha1_Update_Rar(CSha1 *p, Byte *data, size_t size /* , int rar350Mode */);
void Sha1_32_PrepareBlock(const CSha1 *p, UInt32 *block, unsigned size);
void Sha1_32_Update(CSha1 *p, const UInt32 *data, size_t size);
diff --git a/CPP/7zip/Archive/Rar/RarHandler.cpp b/CPP/7zip/Archive/Rar/RarHandler.cpp
index 71237c93..e858c1ea 100644
--- a/CPP/7zip/Archive/Rar/RarHandler.cpp
+++ b/CPP/7zip/Archive/Rar/RarHandler.cpp
@@ -220,6 +220,8 @@ HRESULT CInArchive::Open(IInStream *stream, const UInt64 *searchHeaderSizeLimit)
ArcInfo.Flags = Get16(buf + 3);
UInt32 headerSize = NHeader::NArchive::kArchiveHeaderSize;
+
+ /*
if (ArcInfo.IsThereEncryptVer())
{
if (blockSize <= headerSize)
@@ -229,6 +231,8 @@ HRESULT CInArchive::Open(IInStream *stream, const UInt64 *searchHeaderSizeLimit)
ArcInfo.EncryptVersion = buf[NHeader::NArchive::kArchiveHeaderSize];
headerSize += 1;
}
+ */
+
if (blockSize < headerSize
|| buf[2] != NHeader::NBlockType::kArchiveHeader
|| !CheckHeaderCrc(buf, headerSize))
@@ -509,7 +513,7 @@ HRESULT CInArchive::GetNextItem(CItem &item, ICryptoGetTextPassword *getTextPass
m_RarAESSpec = new NCrypto::NRar3::CDecoder;
m_RarAES = m_RarAESSpec;
}
- m_RarAESSpec->SetRar350Mode(ArcInfo.IsEncryptOld());
+ // m_RarAESSpec->SetRar350Mode(ArcInfo.IsEncryptOld());
// Salt
const UInt32 kSaltSize = 8;
@@ -1552,7 +1556,7 @@ STDMETHODIMP CHandler::Extract(const UInt32 *indices, UInt32 numItems,
rar3CryptoDecoderSpec = new NCrypto::NRar3::CDecoder;
rar3CryptoDecoder = rar3CryptoDecoderSpec;
}
- rar3CryptoDecoderSpec->SetRar350Mode(item.UnPackVersion < 36);
+ // rar3CryptoDecoderSpec->SetRar350Mode(item.UnPackVersion < 36);
/*
CMyComPtr<ICompressSetDecoderProperties2> cryptoProperties;
RINOK(rar3CryptoDecoder.QueryInterface(IID_ICompressSetDecoderProperties2,
diff --git a/CPP/7zip/Archive/Rar/RarHandler.h b/CPP/7zip/Archive/Rar/RarHandler.h
index e280eb57..901406d4 100644
--- a/CPP/7zip/Archive/Rar/RarHandler.h
+++ b/CPP/7zip/Archive/Rar/RarHandler.h
@@ -41,9 +41,9 @@ struct CInArcInfo
bool IsRecovery() const { return (Flags & NHeader::NArchive::kRecovery) != 0; }
bool IsEncrypted() const { return (Flags & NHeader::NArchive::kBlockEncryption) != 0; }
bool IsFirstVolume() const { return (Flags & NHeader::NArchive::kFirstVolume) != 0; }
- bool IsThereEncryptVer() const { return (Flags & NHeader::NArchive::kEncryptVer) != 0; }
- bool IsEncryptOld() const { return (!IsThereEncryptVer() || EncryptVersion < 36); }
+ // bool IsThereEncryptVer() const { return (Flags & NHeader::NArchive::kEncryptVer) != 0; }
+ // bool IsEncryptOld() const { return (!IsThereEncryptVer() || EncryptVersion < 36); }
bool AreMoreVolumes() const { return (EndFlags & NHeader::NArchive::kEndOfArc_Flags_NextVol) != 0; }
bool Is_VolNumber_Defined() const { return (EndFlags & NHeader::NArchive::kEndOfArc_Flags_VolNumber) != 0; }
diff --git a/CPP/7zip/Archive/Rar/RarHeader.h b/CPP/7zip/Archive/Rar/RarHeader.h
index b518338a..30c53ec9 100644
--- a/CPP/7zip/Archive/Rar/RarHeader.h
+++ b/CPP/7zip/Archive/Rar/RarHeader.h
@@ -41,7 +41,8 @@ namespace NArchive
const UInt16 kRecovery = 0x40;
const UInt16 kBlockEncryption = 0x80;
const UInt16 kFirstVolume = 0x100; // (set only by RAR 3.0 and later)
- const UInt16 kEncryptVer = 0x200; // RAR 3.6 there is EncryptVer Byte in End of MainHeader
+
+ // const UInt16 kEncryptVer = 0x200; // RAR 3.6 : that feature was discarded by origial RAR
const UInt16 kEndOfArc_Flags_NextVol = 1;
const UInt16 kEndOfArc_Flags_DataCRC = 2;
diff --git a/CPP/7zip/Archive/SplitHandler.cpp b/CPP/7zip/Archive/SplitHandler.cpp
index 4ca417e0..72b52fe7 100644
--- a/CPP/7zip/Archive/SplitHandler.cpp
+++ b/CPP/7zip/Archive/SplitHandler.cpp
@@ -203,7 +203,7 @@ HRESULT CHandler::Open2(IInStream *stream, IArchiveOpenCallback *callback)
_streams.Add(stream);
{
- UInt64 numFiles = _streams.Size();
+ const UInt64 numFiles = _streams.Size();
RINOK(callback->SetCompleted(&numFiles, NULL));
}
@@ -218,7 +218,7 @@ HRESULT CHandler::Open2(IInStream *stream, IArchiveOpenCallback *callback)
break;
if (result != S_OK)
return result;
- if (!stream)
+ if (!nextStream)
break;
{
/*
@@ -228,14 +228,14 @@ HRESULT CHandler::Open2(IInStream *stream, IArchiveOpenCallback *callback)
return E_INVALIDARG;
size = prop.uhVal.QuadPart;
*/
- RINOK(stream->Seek(0, STREAM_SEEK_END, &size));
- RINOK(stream->Seek(0, STREAM_SEEK_SET, NULL));
+ RINOK(nextStream->Seek(0, STREAM_SEEK_END, &size));
+ RINOK(nextStream->Seek(0, STREAM_SEEK_SET, NULL));
}
_totalSize += size;
_sizes.Add(size);
_streams.Add(nextStream);
{
- UInt64 numFiles = _streams.Size();
+ const UInt64 numFiles = _streams.Size();
RINOK(callback->SetCompleted(&numFiles, NULL));
}
}
diff --git a/CPP/7zip/Archive/Wim/WimHandler.cpp b/CPP/7zip/Archive/Wim/WimHandler.cpp
index d4f53b9c..27d3298a 100644
--- a/CPP/7zip/Archive/Wim/WimHandler.cpp
+++ b/CPP/7zip/Archive/Wim/WimHandler.cpp
@@ -388,7 +388,7 @@ static void MethodToProp(int method, int chunksSizeBits, NCOM::CPropVariant &pro
char temp[32];
if ((unsigned)method < ARRAY_SIZE(k_Methods))
- strcpy(temp, k_Methods[method]);
+ strcpy(temp, k_Methods[(unsigned)method]);
else
ConvertUInt32ToString((unsigned)method, temp);
diff --git a/CPP/7zip/Crypto/RarAes.cpp b/CPP/7zip/Crypto/RarAes.cpp
index 5bae8529..98e9f62d 100644
--- a/CPP/7zip/Crypto/RarAes.cpp
+++ b/CPP/7zip/Crypto/RarAes.cpp
@@ -11,8 +11,8 @@ namespace NRar3 {
CDecoder::CDecoder():
CAesCbcDecoder(kAesKeySize),
_thereIsSalt(false),
- _needCalc(true),
- _rar350Mode(false)
+ _needCalc(true)
+ // _rar350Mode(false)
{
for (unsigned i = 0; i < sizeof(_salt); i++)
_salt[i] = 0;
@@ -111,9 +111,9 @@ void CDecoder::CalcKey()
UInt32 i;
for (i = 0; i < kNumRounds; i++)
{
- sha.UpdateRar(buf, rawSize, _rar350Mode);
+ sha.UpdateRar(buf, rawSize /* , _rar350Mode */);
Byte pswNum[3] = { (Byte)i, (Byte)(i >> 8), (Byte)(i >> 16) };
- sha.UpdateRar(pswNum, 3, _rar350Mode);
+ sha.UpdateRar(pswNum, 3 /* , _rar350Mode */);
if (i % (kNumRounds / 16) == 0)
{
NSha1::CContext shaTemp = sha;
diff --git a/CPP/7zip/Crypto/RarAes.h b/CPP/7zip/Crypto/RarAes.h
index 083b4104..645da1af 100644
--- a/CPP/7zip/Crypto/RarAes.h
+++ b/CPP/7zip/Crypto/RarAes.h
@@ -24,7 +24,7 @@ class CDecoder:
Byte _salt[8];
bool _thereIsSalt;
bool _needCalc;
- bool _rar350Mode;
+ // bool _rar350Mode;
CByteBuffer _password;
@@ -44,7 +44,7 @@ public:
HRESULT SetDecoderProperties2(const Byte *data, UInt32 size);
CDecoder();
- void SetRar350Mode(bool rar350Mode) { _rar350Mode = rar350Mode; }
+ // void SetRar350Mode(bool rar350Mode) { _rar350Mode = rar350Mode; }
};
}}
diff --git a/CPP/7zip/Crypto/Sha1Cls.h b/CPP/7zip/Crypto/Sha1Cls.h
index 18c761f9..71acbdec 100644
--- a/CPP/7zip/Crypto/Sha1Cls.h
+++ b/CPP/7zip/Crypto/Sha1Cls.h
@@ -28,7 +28,7 @@ class CContext: public CContextBase
{
public:
void Update(const Byte *data, size_t size) throw() { Sha1_Update(&_s, data, size); }
- void UpdateRar(Byte *data, size_t size, bool rar350Mode) throw() { Sha1_Update_Rar(&_s, data, size, rar350Mode ? 1 : 0); }
+ void UpdateRar(Byte *data, size_t size /* , bool rar350Mode */) throw() { Sha1_Update_Rar(&_s, data, size /* , rar350Mode ? 1 : 0 */); }
void Final(Byte *digest) throw() { Sha1_Final(&_s, digest); }
};
diff --git a/CPP/7zip/UI/Common/Bench.cpp b/CPP/7zip/UI/Common/Bench.cpp
index 255c8273..ecbacbc9 100644
--- a/CPP/7zip/UI/Common/Bench.cpp
+++ b/CPP/7zip/UI/Common/Bench.cpp
@@ -1740,10 +1740,10 @@ struct CTotalBenchRes
}
};
-static void PrintNumber(IBenchPrintCallback &f, UInt64 value, int size)
+static void PrintNumber(IBenchPrintCallback &f, UInt64 value, unsigned size)
{
char s[128];
- int startPos = (int)sizeof(s) - 32;
+ unsigned startPos = (unsigned)sizeof(s) - 32;
memset(s, ' ', startPos);
ConvertUInt64ToString(value, s + startPos);
// if (withSpace)
@@ -1751,7 +1751,7 @@ static void PrintNumber(IBenchPrintCallback &f, UInt64 value, int size)
startPos--;
size++;
}
- int len = (int)strlen(s + startPos);
+ unsigned len = (unsigned)strlen(s + startPos);
if (size > len)
{
startPos -= (size - len);
@@ -1761,26 +1761,26 @@ static void PrintNumber(IBenchPrintCallback &f, UInt64 value, int size)
f.Print(s + startPos);
}
-static const int kFieldSize_Name = 12;
-static const int kFieldSize_SmallName = 4;
-static const int kFieldSize_Speed = 9;
-static const int kFieldSize_Usage = 5;
-static const int kFieldSize_RU = 6;
-static const int kFieldSize_Rating = 6;
-static const int kFieldSize_EU = 5;
-static const int kFieldSize_Effec = 5;
+static const unsigned kFieldSize_Name = 12;
+static const unsigned kFieldSize_SmallName = 4;
+static const unsigned kFieldSize_Speed = 9;
+static const unsigned kFieldSize_Usage = 5;
+static const unsigned kFieldSize_RU = 6;
+static const unsigned kFieldSize_Rating = 6;
+static const unsigned kFieldSize_EU = 5;
+static const unsigned kFieldSize_Effec = 5;
-static const int kFieldSize_TotalSize = 4 + kFieldSize_Speed + kFieldSize_Usage + kFieldSize_RU + kFieldSize_Rating;
-static const int kFieldSize_EUAndEffec = 2 + kFieldSize_EU + kFieldSize_Effec;
+static const unsigned kFieldSize_TotalSize = 4 + kFieldSize_Speed + kFieldSize_Usage + kFieldSize_RU + kFieldSize_Rating;
+static const unsigned kFieldSize_EUAndEffec = 2 + kFieldSize_EU + kFieldSize_Effec;
-static void PrintRating(IBenchPrintCallback &f, UInt64 rating, int size)
+static void PrintRating(IBenchPrintCallback &f, UInt64 rating, unsigned size)
{
PrintNumber(f, (rating + 500000) / 1000000, size);
}
-static void PrintPercents(IBenchPrintCallback &f, UInt64 val, UInt64 divider, int size)
+static void PrintPercents(IBenchPrintCallback &f, UInt64 val, UInt64 divider, unsigned size)
{
PrintNumber(f, (val * 100 + divider / 2) / divider, size);
}
@@ -1882,7 +1882,7 @@ struct CBenchCallbackToPrint: public IBenchCallback
UInt32 DictSize;
bool Use2Columns;
- int NameFieldSize;
+ unsigned NameFieldSize;
bool ShowFreq;
UInt64 CpuFreq;
@@ -2712,7 +2712,7 @@ HRESULT Bench(
f.NewLine();
f.Print("Size");
- const int kFieldSize_CrcSpeed = 6;
+ const unsigned kFieldSize_CrcSpeed = 6;
unsigned numThreadsTests = 0;
for (;;)
{
@@ -2875,7 +2875,7 @@ HRESULT Bench(
showFreq = true;
}
- int fileldSize = kFieldSize_TotalSize;
+ unsigned fileldSize = kFieldSize_TotalSize;
if (showFreq)
fileldSize += kFieldSize_EUAndEffec;
@@ -2943,9 +2943,8 @@ HRESULT Bench(
printCallback->NewLine();
HRESULT res;
- int freqTest;
- const int kNumCpuTests = 3;
- for (freqTest = 0; freqTest < kNumCpuTests; freqTest++)
+ const unsigned kNumCpuTests = 3;
+ for (unsigned freqTest = 0; freqTest < kNumCpuTests; freqTest++)
{
PrintLeft(f, "CPU", kFieldSize_Name);
UInt32 resVal;
diff --git a/CPP/7zip/UI/Common/OpenArchive.cpp b/CPP/7zip/UI/Common/OpenArchive.cpp
index 49da1c97..bf3b982e 100644
--- a/CPP/7zip/UI/Common/OpenArchive.cpp
+++ b/CPP/7zip/UI/Common/OpenArchive.cpp
@@ -497,7 +497,7 @@ static HRESULT Archive_GetArcProp_UInt(IInArchive *arc, PROPID propid, UInt64 &r
switch (prop.vt)
{
case VT_UI4: result = prop.ulVal; defined = true; break;
- case VT_I4: result = prop.lVal; defined = true; break;
+ case VT_I4: result = (Int64)prop.lVal; defined = true; break;
case VT_UI8: result = (UInt64)prop.uhVal.QuadPart; defined = true; break;
case VT_I8: result = (UInt64)prop.hVal.QuadPart; defined = true; break;
case VT_EMPTY: break;
@@ -864,7 +864,7 @@ HRESULT CArc::GetItem(UInt32 index, CReadArcItem &item) const
{
item.MainPath.DeleteFrom(colon);
item.AltStreamName = item.Path.Ptr(colon + 1);
- item.MainIsDir = (colon == 0 || IsPathSepar(item.Path[colon - 1]));
+ item.MainIsDir = (colon == 0 || IsPathSepar(item.Path[(unsigned)colon - 1]));
item.IsAltStream = true;
}
}
diff --git a/CPP/7zip/UI/FileManager/LinkDialog.cpp b/CPP/7zip/UI/FileManager/LinkDialog.cpp
index ac12a0eb..2ef2da5b 100644
--- a/CPP/7zip/UI/FileManager/LinkDialog.cpp
+++ b/CPP/7zip/UI/FileManager/LinkDialog.cpp
@@ -310,7 +310,7 @@ void CLinkDialog::OnButton_Link()
void CApp::Link()
{
- int srcPanelIndex = GetFocusedPanelIndex();
+ unsigned srcPanelIndex = GetFocusedPanelIndex();
CPanel &srcPanel = Panels[srcPanelIndex];
if (!srcPanel.IsFSFolder())
{
diff --git a/CPP/7zip/UI/FileManager/PanelCrc.cpp b/CPP/7zip/UI/FileManager/PanelCrc.cpp
index 3b0ee052..c9697e8b 100644
--- a/CPP/7zip/UI/FileManager/PanelCrc.cpp
+++ b/CPP/7zip/UI/FileManager/PanelCrc.cpp
@@ -310,7 +310,7 @@ HRESULT CThreadCrc::ProcessVirt()
HRESULT CApp::CalculateCrc2(const UString &methodName)
{
- int srcPanelIndex = GetFocusedPanelIndex();
+ unsigned srcPanelIndex = GetFocusedPanelIndex();
CPanel &srcPanel = Panels[srcPanelIndex];
CRecordVector<UInt32> indices;
@@ -379,7 +379,7 @@ void CApp::CalculateCrc(const UString &methodName)
HRESULT res = CalculateCrc2(methodName);
if (res != S_OK && res != E_ABORT)
{
- int srcPanelIndex = GetFocusedPanelIndex();
+ unsigned srcPanelIndex = GetFocusedPanelIndex();
CPanel &srcPanel = Panels[srcPanelIndex];
srcPanel.MessageBoxError(res);
}
diff --git a/CPP/7zip/UI/GUI/UpdateGUI.cpp b/CPP/7zip/UI/GUI/UpdateGUI.cpp
index 64501306..53864f72 100644
--- a/CPP/7zip/UI/GUI/UpdateGUI.cpp
+++ b/CPP/7zip/UI/GUI/UpdateGUI.cpp
@@ -343,7 +343,7 @@ static HRESULT ShowDialog(
int index = FindActionSet(actionSet);
if (index < 0)
return E_NOTIMPL;
- di.UpdateMode = g_UpdateMode_Pairs[index].UpdateMode;
+ di.UpdateMode = g_UpdateMode_Pairs[(unsigned)index].UpdateMode;
}
if (dialog.Create(hwndParent) != IDOK)
diff --git a/DOC/7zip.inf b/DOC/7zip.inf
index cea43772..32d4cb8f 100644
--- a/DOC/7zip.inf
+++ b/DOC/7zip.inf
@@ -10,8 +10,8 @@ AppName = "7-Zip"
InstallDir = %CE1%\%AppName%
[Strings]
-AppVer = "16.01"
-AppDate = "2016-05-19"
+AppVer = "16.02"
+AppDate = "2016-05-21"
[CEDevice]
; ProcessorType = 2577 ; ARM
diff --git a/DOC/7zip.nsi b/DOC/7zip.nsi
index 66c47202..f7046c22 100644
--- a/DOC/7zip.nsi
+++ b/DOC/7zip.nsi
@@ -2,7 +2,7 @@
;Defines
!define VERSION_MAJOR 16
-!define VERSION_MINOR 01
+!define VERSION_MINOR 02
!define VERSION_POSTFIX_FULL ""
!ifdef WIN64
!ifdef IA64
diff --git a/DOC/7zip.wxs b/DOC/7zip.wxs
index 81c3768b..5cd0919e 100644
--- a/DOC/7zip.wxs
+++ b/DOC/7zip.wxs
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<?define VerMajor = "16" ?>
-<?define VerMinor = "01" ?>
+<?define VerMinor = "02" ?>
<?define VerBuild = "00" ?>
<?define MmVer = "$(var.VerMajor).$(var.VerMinor)" ?>
<?define MmHex = "$(var.VerMajor)$(var.VerMinor)" ?>
diff --git a/DOC/readme.txt b/DOC/readme.txt
index 1f09cbc5..4a6998c1 100644
--- a/DOC/readme.txt
+++ b/DOC/readme.txt
@@ -1,4 +1,4 @@
-7-Zip 16.01 Sources
+7-Zip 16.02 Sources
-------------------
7-Zip is a file archiver for Windows.
diff --git a/DOC/src-history.txt b/DOC/src-history.txt
index 60e31bcd..6b48c80f 100644
--- a/DOC/src-history.txt
+++ b/DOC/src-history.txt
@@ -1,6 +1,13 @@
HISTORY of the 7-Zip source code
--------------------------------
+16.02 2016-05-21
+-------------------------
+- The BUG in 16.00 - 16.01 was fixed:
+ Split Handler (SplitHandler.cpp) returned incorrect
+ total size value (kpidSize) for split archives.
+
+
16.01 2016-05-19
-------------------------
- Some bugs were fixed,