mirror of
https://github.com/Xevion/easy7zip.git
synced 2026-02-01 04:24:15 -06:00
22.00
This commit is contained in:
Regular → Executable
+33
-3
@@ -160,7 +160,11 @@ enum Enum
|
||||
kSymLinks_AllowDangerous,
|
||||
kSymLinks,
|
||||
kNtSecurity,
|
||||
|
||||
kStoreOwnerId,
|
||||
kStoreOwnerName,
|
||||
|
||||
kZoneFile,
|
||||
kAltStreams,
|
||||
kReplaceColonForAltStream,
|
||||
kWriteToAltStreamIfColon,
|
||||
@@ -304,7 +308,11 @@ static const CSwitchForm kSwitchForms[] =
|
||||
{ "snld", SWFRM_MINUS },
|
||||
{ "snl", SWFRM_MINUS },
|
||||
{ "sni", SWFRM_SIMPLE },
|
||||
|
||||
{ "snoi", SWFRM_MINUS },
|
||||
{ "snon", SWFRM_MINUS },
|
||||
|
||||
{ "snz", SWFRM_STRING_SINGL(0) },
|
||||
{ "sns", SWFRM_MINUS },
|
||||
{ "snr", SWFRM_SIMPLE },
|
||||
{ "snc", SWFRM_SIMPLE },
|
||||
@@ -1032,9 +1040,9 @@ void CArcCmdLineParser::Parse1(const UStringVector &commandStrings,
|
||||
|
||||
if (parser[NKey::kCaseSensitive].ThereIs)
|
||||
{
|
||||
options.CaseSensitive =
|
||||
g_CaseSensitive = !parser[NKey::kCaseSensitive].WithMinus;
|
||||
options.CaseSensitiveChange = true;
|
||||
options.CaseSensitive = g_CaseSensitive;
|
||||
options.CaseSensitive_Change = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1367,6 +1375,9 @@ void CArcCmdLineParser::Parse2(CArcCmdLineOptions &options)
|
||||
SetBoolPair(parser, NKey::kAltStreams, options.AltStreams);
|
||||
SetBoolPair(parser, NKey::kHardLinks, options.HardLinks);
|
||||
SetBoolPair(parser, NKey::kSymLinks, options.SymLinks);
|
||||
|
||||
SetBoolPair(parser, NKey::kStoreOwnerId, options.StoreOwnerId);
|
||||
SetBoolPair(parser, NKey::kStoreOwnerName, options.StoreOwnerName);
|
||||
|
||||
CBoolPair symLinks_AllowDangerous;
|
||||
SetBoolPair(parser, NKey::kSymLinks_AllowDangerous, symLinks_AllowDangerous);
|
||||
@@ -1420,12 +1431,28 @@ void CArcCmdLineParser::Parse2(CArcCmdLineOptions &options)
|
||||
nt.ReplaceColonForAltStream = parser[NKey::kReplaceColonForAltStream].ThereIs;
|
||||
nt.WriteToAltStreamIfColon = parser[NKey::kWriteToAltStreamIfColon].ThereIs;
|
||||
|
||||
nt.ExtractOwner = options.StoreOwnerId.Val; // StoreOwnerName
|
||||
|
||||
if (parser[NKey::kPreserveATime].ThereIs)
|
||||
nt.PreserveATime = true;
|
||||
if (parser[NKey::kShareForWrite].ThereIs)
|
||||
nt.OpenShareForWrite = true;
|
||||
}
|
||||
|
||||
|
||||
if (parser[NKey::kZoneFile].ThereIs)
|
||||
{
|
||||
eo.ZoneMode = NExtract::NZoneIdMode::kAll;
|
||||
const UString &s = parser[NKey::kZoneFile].PostStrings[0];
|
||||
if (!s.IsEmpty())
|
||||
{
|
||||
if (s == L"0") eo.ZoneMode = NExtract::NZoneIdMode::kNone;
|
||||
else if (s == L"1") eo.ZoneMode = NExtract::NZoneIdMode::kAll;
|
||||
else if (s == L"2") eo.ZoneMode = NExtract::NZoneIdMode::kOffice;
|
||||
else
|
||||
throw CArcCmdLineException("Unsupported -snz:", s);
|
||||
}
|
||||
}
|
||||
|
||||
options.Censor.AddPathsToCensor(NWildcard::k_AbsPath);
|
||||
options.Censor.ExtendExclude();
|
||||
|
||||
@@ -1549,6 +1576,9 @@ void CArcCmdLineParser::Parse2(CArcCmdLineOptions &options)
|
||||
updateOptions.NtSecurity = options.NtSecurity;
|
||||
updateOptions.HardLinks = options.HardLinks;
|
||||
updateOptions.SymLinks = options.SymLinks;
|
||||
|
||||
updateOptions.StoreOwnerId = options.StoreOwnerId;
|
||||
updateOptions.StoreOwnerName = options.StoreOwnerName;
|
||||
|
||||
updateOptions.EMailMode = parser[NKey::kEmail].ThereIs;
|
||||
if (updateOptions.EMailMode)
|
||||
|
||||
Reference in New Issue
Block a user