_fiInfo->nUnpackedSize = prop.vt == VT_EMPTY ? 0 : prop.vt == VT_UI8 ? prop.uhVal.QuadPart : prop.ulVal;\r
unsigned int t;\r
hArc->GetProperty(nIndex, kpidMTime, & prop);\r
- NWindows::NTime::FileTimeToUnixTime(prop.filetime, t);\r
- _fiInfo->tmModified.Set((time_t) t);\r
+ if (prop.vt == VT_FILETIME)\r
+ {\r
+ NWindows::NTime::FileTimeToUnixTime(prop.filetime, t);\r
+ _fiInfo->tmModified.Set((time_t) t);\r
+ }\r
hArc->GetProperty(nIndex, kpidCTime, & prop);\r
- NWindows::NTime::FileTimeToUnixTime(prop.filetime, t);\r
- _fiInfo->tmCreate.Set((time_t) t);\r
+ if (prop.vt == VT_FILETIME)\r
+ {\r
+ NWindows::NTime::FileTimeToUnixTime(prop.filetime, t);\r
+ _fiInfo->tmCreate.Set((time_t) t);\r
+ }\r
hArc->GetProperty(nIndex, kpidATime, & prop);\r
- NWindows::NTime::FileTimeToUnixTime(prop.filetime, t);\r
- _fiInfo->tmAccess.Set((time_t) t);\r
+ if (prop.vt == VT_FILETIME)\r
+ {\r
+ NWindows::NTime::FileTimeToUnixTime(prop.filetime, t);\r
+ _fiInfo->tmAccess.Set((time_t) t);\r
+ }\r
hArc->GetProperty(nIndex, kpidPath, & prop);\r
if (prop.vt == VT_BSTR)\r
{\r
{\r
_fiInfo->szMethod = WC2String(prop.bstrVal);\r
}\r
- hArc->GetProperty(nIndex, kpidCommented, & prop);\r
- if (prop.vt == VT_BOOL && VARIANT_BOOLToBool(prop.boolVal))\r
+ hArc->GetProperty(nIndex, kpidComment, & prop);\r
+ if (prop.vt == VT_BSTR)\r
{\r
- hArc->GetProperty(nIndex, kpidComment, & prop);\r
_fiInfo->szComment = WC2String(prop.bstrVal);\r
}\r
_fiInfo->nFileId = nIndex;\r