diff options
Diffstat (limited to 'CPP/7zip/UI/Common/PropIDUtils.cpp')
-rw-r--r-- | CPP/7zip/UI/Common/PropIDUtils.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/CPP/7zip/UI/Common/PropIDUtils.cpp b/CPP/7zip/UI/Common/PropIDUtils.cpp index 32001624..dccc08b1 100644 --- a/CPP/7zip/UI/Common/PropIDUtils.cpp +++ b/CPP/7zip/UI/Common/PropIDUtils.cpp @@ -142,14 +142,16 @@ void ConvertPropertyToShortString(char *dest, const PROPVARIANT &prop, PROPID pr case kpidVa: { UInt64 v = 0; - if (ConvertPropVariantToUInt64(prop, v)) - { - dest[0] = '0'; - dest[1] = 'x'; - ConvertUInt64ToHex(prop.ulVal, dest + 2); - return; - } - break; + if (prop.vt == VT_UI4) + v = prop.ulVal; + else if (prop.vt == VT_UI8) + v = (UInt64)prop.uhVal.QuadPart; + else + break; + dest[0] = '0'; + dest[1] = 'x'; + ConvertUInt64ToHex(v, dest + 2); + return; } } |