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:
authorIgor Pavlov <ipavlov@users.sourceforge.net>2007-12-06 03:00:00 +0300
committerKornel LesiƄski <kornel@geekhood.net>2016-05-28 02:15:55 +0300
commitbd1fa36322ac27f5715433b388742893d6524516 (patch)
treea4efc312bd09de6bcfe4aec47d248f5c0bc87354
parentacd742622d1e0daf50ae815bec4ddb2143bafbf5 (diff)
4.574.57
-rwxr-xr-xCPP/7zip/Archive/Zip/ZipHeader.h1
-rwxr-xr-xCPP/7zip/Archive/Zip/ZipIn.cpp20
-rwxr-xr-xCPP/7zip/Archive/Zip/ZipIn.h1
-rwxr-xr-xCPP/7zip/Archive/Zip/ZipItemEx.h5
-rwxr-xr-xCPP/7zip/Archive/Zip/ZipUpdate.cpp5
-rwxr-xr-xCPP/7zip/Compress/Deflate/DeflateEncoder.cpp6
-rwxr-xr-xCPP/7zip/MyVersion.h8
-rwxr-xr-xCPP/7zip/UI/Common/UpdateProduce.cpp2
-rwxr-xr-xCPP/7zip/UI/FileManager/PanelItemOpen.cpp2
-rwxr-xr-xDOC/7zip.nsi4
-rwxr-xr-xDOC/7zip.wxs2
-rwxr-xr-xDOC/readme.txt2
12 files changed, 41 insertions, 17 deletions
diff --git a/CPP/7zip/Archive/Zip/ZipHeader.h b/CPP/7zip/Archive/Zip/ZipHeader.h
index 8ce2718a..98ad17a3 100755
--- a/CPP/7zip/Archive/Zip/ZipHeader.h
+++ b/CPP/7zip/Archive/Zip/ZipHeader.h
@@ -109,6 +109,7 @@ namespace NFileHeader
*/
const UInt32 kDataDescriptorSize = 16;
+ // const UInt32 kDataDescriptor64Size = 16 + 8;
/*
struct CDataDescriptor
{
diff --git a/CPP/7zip/Archive/Zip/ZipIn.cpp b/CPP/7zip/Archive/Zip/ZipIn.cpp
index bf3764f7..b579f9b4 100755
--- a/CPP/7zip/Archive/Zip/ZipIn.cpp
+++ b/CPP/7zip/Archive/Zip/ZipIn.cpp
@@ -437,8 +437,21 @@ HRESULT CInArchive::ReadLocalItemAfterCdItemFull(CItemEx &item)
if (ReadUInt32() != NSignature::kDataDescriptor)
return S_FALSE;
UInt32 crc = ReadUInt32();
- UInt32 packSize = ReadUInt32();
- UInt32 unpackSize = ReadUInt32();
+ UInt64 packSize, unpackSize;
+
+ /*
+ if (IsZip64)
+ {
+ packSize = ReadUInt64();
+ unpackSize = ReadUInt64();
+ }
+ else
+ */
+ {
+ packSize = ReadUInt32();
+ unpackSize = ReadUInt32();
+ }
+
if (crc != item.FileCRC || item.PackSize != packSize || item.UnPackSize != unpackSize)
return S_FALSE;
}
@@ -681,6 +694,7 @@ HRESULT CInArchive::ReadHeaders(CObjectVector<CItemEx> &items, CProgressVirt *pr
// kEndOfCentralDirSignature
// m_Position points to next byte after signature
+ IsZip64 = false;
items.Clear();
if (progress != 0)
{
@@ -722,7 +736,7 @@ HRESULT CInArchive::ReadHeaders(CObjectVector<CItemEx> &items, CProgressVirt *pr
UInt64 zip64EcdStartOffset = m_Position - 4 - m_ArchiveInfo.Base;
if(m_Signature == NSignature::kZip64EndOfCentralDir)
{
- isZip64 = true;
+ IsZip64 = isZip64 = true;
UInt64 recordSize = ReadUInt64();
/* UInt16 versionMade = */ ReadUInt16();
/* UInt16 versionNeedExtract = */ ReadUInt16();
diff --git a/CPP/7zip/Archive/Zip/ZipIn.h b/CPP/7zip/Archive/Zip/ZipIn.h
index 62be592b..b5a5a3ef 100755
--- a/CPP/7zip/Archive/Zip/ZipIn.h
+++ b/CPP/7zip/Archive/Zip/ZipIn.h
@@ -95,6 +95,7 @@ class CInArchive
HRESULT ReadLocalsAndCd(CObjectVector<CItemEx> &items, CProgressVirt *progress, UInt64 &cdOffset);
public:
CInArchiveInfo m_ArchiveInfo;
+ bool IsZip64;
HRESULT ReadHeaders(CObjectVector<CItemEx> &items, CProgressVirt *progress);
HRESULT ReadLocalItemAfterCdItem(CItemEx &item);
diff --git a/CPP/7zip/Archive/Zip/ZipItemEx.h b/CPP/7zip/Archive/Zip/ZipItemEx.h
index 3cacc0e7..0c5ba0ca 100755
--- a/CPP/7zip/Archive/Zip/ZipItemEx.h
+++ b/CPP/7zip/Archive/Zip/ZipItemEx.h
@@ -18,6 +18,11 @@ public:
UInt64 GetLocalFullSize() const
{ return FileHeaderWithNameSize + LocalExtraSize + PackSize +
(HasDescriptor() ? NFileHeader::kDataDescriptorSize : 0); };
+ /*
+ UInt64 GetLocalFullSize(bool isZip64) const
+ { return FileHeaderWithNameSize + LocalExtraSize + PackSize +
+ (HasDescriptor() ? (isZip64 ? NFileHeader::kDataDescriptor64Size : NFileHeader::kDataDescriptorSize) : 0); };
+ */
UInt64 GetLocalExtraPosition() const
{ return LocalHeaderPosition + FileHeaderWithNameSize; };
UInt64 GetDataPosition() const
diff --git a/CPP/7zip/Archive/Zip/ZipUpdate.cpp b/CPP/7zip/Archive/Zip/ZipUpdate.cpp
index b08545c6..6cfa64e2 100755
--- a/CPP/7zip/Archive/Zip/ZipUpdate.cpp
+++ b/CPP/7zip/Archive/Zip/ZipUpdate.cpp
@@ -267,6 +267,7 @@ void CMtProgressMixer2::Create(IProgress *progress, bool inSizeIsMain)
void CMtProgressMixer2::SetProgressOffset(UInt64 progressOffset)
{
CriticalSection.Enter();
+ InSizes[1] = OutSizes[1] = 0;
ProgressOffset = progressOffset;
CriticalSection.Leave();
}
@@ -323,7 +324,9 @@ STDMETHODIMP CMtProgressMixer::SetRatioInfo(const UInt64 *inSize, const UInt64 *
static HRESULT UpdateItemOldData(COutArchive &archive,
IInStream *inStream,
- const CUpdateItem &updateItem, CItemEx &item, ICompressProgressInfo *progress,
+ const CUpdateItem &updateItem, CItemEx &item,
+ /* bool izZip64, */
+ ICompressProgressInfo *progress,
UInt64 &complexity)
{
if (updateItem.NewProperties)
diff --git a/CPP/7zip/Compress/Deflate/DeflateEncoder.cpp b/CPP/7zip/Compress/Deflate/DeflateEncoder.cpp
index 2f72fded..2c623750 100755
--- a/CPP/7zip/Compress/Deflate/DeflateEncoder.cpp
+++ b/CPP/7zip/Compress/Deflate/DeflateEncoder.cpp
@@ -40,11 +40,11 @@ static const UInt32 kMatchArrayLimit = kMatchArraySize - kMatchMaxLen * 4 * size
static const UInt32 kBlockUncompressedSizeThreshold = kMaxUncompressedBlockSize -
kMatchMaxLen - kNumOpts;
-static const int kMaxCodeBitLength = 15;
+static const int kMaxCodeBitLength = 12;
static const int kMaxLevelBitLength = 7;
-static Byte kNoLiteralStatPrice = 13;
-static Byte kNoLenStatPrice = 13;
+static Byte kNoLiteralStatPrice = 12;
+static Byte kNoLenStatPrice = 12;
static Byte kNoPosStatPrice = 6;
static Byte g_LenSlots[kNumLenSymbolsMax];
diff --git a/CPP/7zip/MyVersion.h b/CPP/7zip/MyVersion.h
index f9ba7a3b..af5c7d31 100755
--- a/CPP/7zip/MyVersion.h
+++ b/CPP/7zip/MyVersion.h
@@ -1,8 +1,8 @@
#define MY_VER_MAJOR 4
-#define MY_VER_MINOR 56
+#define MY_VER_MINOR 57
#define MY_VER_BUILD 0
-#define MY_VERSION "4.56 beta"
-#define MY_7ZIP_VERSION "7-Zip 4.56 beta"
-#define MY_DATE "2007-10-24"
+#define MY_VERSION "4.57"
+#define MY_7ZIP_VERSION "7-Zip 4.57"
+#define MY_DATE "2007-12-06"
#define MY_COPYRIGHT "Copyright (c) 1999-2007 Igor Pavlov"
#define MY_VERSION_COPYRIGHT_DATE MY_VERSION " " MY_COPYRIGHT " " MY_DATE
diff --git a/CPP/7zip/UI/Common/UpdateProduce.cpp b/CPP/7zip/UI/Common/UpdateProduce.cpp
index 992bbeec..5552161a 100755
--- a/CPP/7zip/UI/Common/UpdateProduce.cpp
+++ b/CPP/7zip/UI/Common/UpdateProduce.cpp
@@ -24,7 +24,7 @@ void UpdateProduce(
pair2.ArchiveItemIndex = pair.ArchiveItemIndex;
pair2.DirItemIndex = pair.DirItemIndex;
pair2.ExistInArchive = (pair.State != NPairState::kOnlyOnDisk);
- pair2.ExistOnDisk = (pair.State != NPairState::kOnlyInArchive);
+ pair2.ExistOnDisk = (pair.State != NPairState::kOnlyInArchive && pair.State != NPairState::kNotMasked);
switch(actionSet.StateActions[pair.State])
{
case NPairAction::kIgnore:
diff --git a/CPP/7zip/UI/FileManager/PanelItemOpen.cpp b/CPP/7zip/UI/FileManager/PanelItemOpen.cpp
index 1795da41..7a42b2d0 100755
--- a/CPP/7zip/UI/FileManager/PanelItemOpen.cpp
+++ b/CPP/7zip/UI/FileManager/PanelItemOpen.cpp
@@ -145,7 +145,7 @@ static const wchar_t *kStartExtensions[] =
{
L"exe", L"bat", L"com",
L"chm",
- L"msi", L"doc", L"xls", L"ppt",
+ L"msi", L"doc", L"xls", L"ppt", L"wps", L"wpt", L"wks", L"xlr", L"wdb",
L"odt", L"ods",
L"pdf"
};
diff --git a/DOC/7zip.nsi b/DOC/7zip.nsi
index f70c5a9e..b4dad123 100755
--- a/DOC/7zip.nsi
+++ b/DOC/7zip.nsi
@@ -2,8 +2,8 @@
;Defines
!define VERSION_MAJOR 4
-!define VERSION_MINOR 56
-!define VERSION_POSTFIX_FULL " beta"
+!define VERSION_MINOR 57
+!define VERSION_POSTFIX_FULL ""
!ifdef WIN64
!ifdef IA64
!define VERSION_SYS_POSTFIX_FULL " for Windows IA-64"
diff --git a/DOC/7zip.wxs b/DOC/7zip.wxs
index 7579abd9..10a9dd41 100755
--- a/DOC/7zip.wxs
+++ b/DOC/7zip.wxs
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<?define VerMajor = "4" ?>
-<?define VerMinor = "56" ?>
+<?define VerMinor = "57" ?>
<?define VerBuild = "00" ?>
<?define MmVer = "$(var.VerMajor).$(var.VerMinor)" ?>
<?define MmHex = "0$(var.VerMajor)$(var.VerMinor)" ?>
diff --git a/DOC/readme.txt b/DOC/readme.txt
index 6cd50495..5d897821 100755
--- a/DOC/readme.txt
+++ b/DOC/readme.txt
@@ -1,4 +1,4 @@
-7-Zip 4.56 Sources
+7-Zip 4.57 Sources
------------------
7-Zip is a file archiver for Windows 95/98/ME/NT/2000/2003/XP/Vista.