diff options
author | Igor Pavlov <ipavlov@users.sourceforge.net> | 2016-05-10 03:00:00 +0300 |
---|---|---|
committer | Kornel LesiĆski <kornel@geekhood.net> | 2016-05-28 02:16:59 +0300 |
commit | 66ac98bb02ac0fadd2a0e3266ea39279984580a3 (patch) | |
tree | c14c790212474e8b51df443d686b202cfe6b2315 /CPP/7zip/Archive/Wim | |
parent | c20d013055085bf49b4c93b2c617030b10c1fb4d (diff) |
16.0016.00
Diffstat (limited to 'CPP/7zip/Archive/Wim')
-rw-r--r-- | CPP/7zip/Archive/Wim/WimHandler.cpp | 25 |
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; } |