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>2016-05-10 03:00:00 +0300
committerKornel LesiƄski <kornel@geekhood.net>2016-05-28 02:16:59 +0300
commit66ac98bb02ac0fadd2a0e3266ea39279984580a3 (patch)
treec14c790212474e8b51df443d686b202cfe6b2315 /CPP/7zip/Archive/Wim
parentc20d013055085bf49b4c93b2c617030b10c1fb4d (diff)
16.0016.00
Diffstat (limited to 'CPP/7zip/Archive/Wim')
-rw-r--r--CPP/7zip/Archive/Wim/WimHandler.cpp25
1 files changed, 10 insertions, 15 deletions
diff --git a/CPP/7zip/Archive/Wim/WimHandler.cpp b/CPP/7zip/Archive/Wim/WimHandler.cpp
index 910de06d..e6bc21f6 100644
--- a/CPP/7zip/Archive/Wim/WimHandler.cpp
+++ b/CPP/7zip/Archive/Wim/WimHandler.cpp
@@ -475,14 +475,10 @@ STDMETHODIMP CHandler::GetProperty(UInt32 index, PROPID propID, PROPVARIANT *val
case kpidPackSize:
{
- UInt64 size = 0;
if (si)
{
if (!si->Resource.IsSolidSmall())
- {
- size = si->Resource.PackSize;
- prop = size;
- }
+ prop = si->Resource.PackSize;
else
{
if (si->Resource.SolidIndex >= 0)
@@ -493,12 +489,14 @@ STDMETHODIMP CHandler::GetProperty(UInt32 index, PROPID propID, PROPVARIANT *val
}
}
}
+ else if (!item.IsDir)
+ prop = (UInt64)0;
+
break;
}
case kpidSize:
{
- UInt64 size = 0;
if (si)
{
if (si->Resource.IsSolid())
@@ -507,22 +505,19 @@ STDMETHODIMP CHandler::GetProperty(UInt32 index, PROPID propID, PROPVARIANT *val
{
if (si->Resource.SolidIndex >= 0)
{
- CSolid &ss = _db.Solids[(unsigned)si->Resource.SolidIndex];
+ const CSolid &ss = _db.Solids[(unsigned)si->Resource.SolidIndex];
prop = ss.UnpackSize;
}
}
else
- {
- size = si->Resource.PackSize;
- prop = size;
- }
+ prop = si->Resource.PackSize;
}
else
- {
- size = si->Resource.UnpackSize;
- prop = size;
- }
+ prop = si->Resource.UnpackSize;
}
+ else if (!item.IsDir)
+ prop = (UInt64)0;
+
break;
}