mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-10 20:07:05 -06:00
- Minor speed optimization for LZMA2 (xz and 7z) multi-threading compression.
7-Zip now uses additional memory buffers for multi-block LZMA2 compression.
CPU utilization was slightly improved.
- 7-zip now creates multi-block xz archives by default. Block size can be
specified with -ms[Size]{m|g} switch.
- xz decoder now can unpack random block from multi-block xz archives. 7-Zip
File Manager now can open nested multi-block xz archives (for example,
image.iso.xz) without full unpacking of xz archive.
- 7-Zip now can create zip archives from stdin to stdout.
- 7-Zip command line: @listfile now doesn't work after -- switch. Use
-i@listfile before -- switch instead.
fixed bugs:
- 7-Zip could add unrequired alternate file streams to WIM archives, for
commands that contain filename wildcards and -sns switch.
- 7-Zip 17.00 beta crashed for commands that write anti-item to 7z archive.
- 7-Zip 17.00 beta ignored "Use large memory pages" option.
131 lines
2.3 KiB
C++
131 lines
2.3 KiB
C++
// ZipRegistry.h
|
|
|
|
#ifndef __ZIP_REGISTRY_H
|
|
#define __ZIP_REGISTRY_H
|
|
|
|
#include "../../../Common/MyTypes.h"
|
|
#include "../../../Common/MyString.h"
|
|
|
|
#include "ExtractMode.h"
|
|
|
|
namespace NExtract
|
|
{
|
|
struct CInfo
|
|
{
|
|
NPathMode::EEnum PathMode;
|
|
NOverwriteMode::EEnum OverwriteMode;
|
|
bool PathMode_Force;
|
|
bool OverwriteMode_Force;
|
|
|
|
CBoolPair SplitDest;
|
|
CBoolPair ElimDup;
|
|
// CBoolPair AltStreams;
|
|
CBoolPair NtSecurity;
|
|
CBoolPair ShowPassword;
|
|
|
|
UStringVector Paths;
|
|
|
|
void Save() const;
|
|
void Load();
|
|
};
|
|
|
|
void Save_ShowPassword(bool showPassword);
|
|
bool Read_ShowPassword();
|
|
}
|
|
|
|
namespace NCompression
|
|
{
|
|
struct CFormatOptions
|
|
{
|
|
UInt32 Level;
|
|
UInt32 Dictionary;
|
|
UInt32 Order;
|
|
UInt32 BlockLogSize;
|
|
UInt32 NumThreads;
|
|
|
|
CSysString FormatID;
|
|
UString Method;
|
|
UString Options;
|
|
UString EncryptionMethod;
|
|
|
|
void Reset_BlockLogSize()
|
|
{
|
|
BlockLogSize = (UInt32)(Int32)-1;
|
|
}
|
|
|
|
void ResetForLevelChange()
|
|
{
|
|
BlockLogSize = NumThreads = Level = Dictionary = Order = (UInt32)(Int32)-1;
|
|
Method.Empty();
|
|
// Options.Empty();
|
|
// EncryptionMethod.Empty();
|
|
}
|
|
CFormatOptions() { ResetForLevelChange(); }
|
|
};
|
|
|
|
struct CInfo
|
|
{
|
|
UInt32 Level;
|
|
bool ShowPassword;
|
|
bool EncryptHeaders;
|
|
UString ArcType;
|
|
UStringVector ArcPaths;
|
|
|
|
CObjectVector<CFormatOptions> Formats;
|
|
|
|
CBoolPair NtSecurity;
|
|
CBoolPair AltStreams;
|
|
CBoolPair HardLinks;
|
|
CBoolPair SymLinks;
|
|
|
|
void Save() const;
|
|
void Load();
|
|
};
|
|
}
|
|
|
|
namespace NWorkDir
|
|
{
|
|
namespace NMode
|
|
{
|
|
enum EEnum
|
|
{
|
|
kSystem,
|
|
kCurrent,
|
|
kSpecified
|
|
};
|
|
}
|
|
struct CInfo
|
|
{
|
|
NMode::EEnum Mode;
|
|
FString Path;
|
|
bool ForRemovableOnly;
|
|
|
|
void SetForRemovableOnlyDefault() { ForRemovableOnly = true; }
|
|
void SetDefault()
|
|
{
|
|
Mode = NMode::kSystem;
|
|
Path.Empty();
|
|
SetForRemovableOnlyDefault();
|
|
}
|
|
|
|
void Save() const;
|
|
void Load();
|
|
};
|
|
}
|
|
|
|
|
|
struct CContextMenuInfo
|
|
{
|
|
CBoolPair Cascaded;
|
|
CBoolPair MenuIcons;
|
|
CBoolPair ElimDup;
|
|
|
|
bool Flags_Def;
|
|
UInt32 Flags;
|
|
|
|
void Save() const;
|
|
void Load();
|
|
};
|
|
|
|
#endif
|