diff options
Diffstat (limited to 'CPP/7zip/Archive/Zip/ZipUpdate.h')
-rwxr-xr-x[-rw-r--r--] | CPP/7zip/Archive/Zip/ZipUpdate.h | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/CPP/7zip/Archive/Zip/ZipUpdate.h b/CPP/7zip/Archive/Zip/ZipUpdate.h index 95e72a47..d1e35347 100644..100755 --- a/CPP/7zip/Archive/Zip/ZipUpdate.h +++ b/CPP/7zip/Archive/Zip/ZipUpdate.h @@ -30,7 +30,9 @@ struct CUpdateItem bool NewData; bool NewProps; bool IsDir; - bool NtfsTimeIsDefined; + bool Write_NtfsTime; + bool Write_UnixTime; + // bool Write_UnixTime_ATime; bool IsUtf8; // bool IsAltStream; int IndexInArc; @@ -50,30 +52,50 @@ struct CUpdateItem void Clear() { IsDir = false; - NtfsTimeIsDefined = false; + + Write_NtfsTime = false; + Write_UnixTime = false; + IsUtf8 = false; // IsAltStream = false; + Time = 0; Size = 0; Name.Empty(); Name_Utf.Free(); Comment.Free(); + + FILETIME_Clear(Ntfs_MTime); + FILETIME_Clear(Ntfs_ATime); + FILETIME_Clear(Ntfs_CTime); } CUpdateItem(): IsDir(false), - NtfsTimeIsDefined(false), + Write_NtfsTime(false), + Write_UnixTime(false), IsUtf8(false), // IsAltStream(false), + Time(0), Size(0) {} }; + +struct CUpdateOptions +{ + bool Write_MTime; + bool Write_ATime; + bool Write_CTime; +}; + + HRESULT Update( DECL_EXTERNAL_CODECS_LOC_VARS const CObjectVector<CItemEx> &inputItems, CObjectVector<CUpdateItem> &updateItems, ISequentialOutStream *seqOutStream, CInArchive *inArchive, bool removeSfx, + const CUpdateOptions &updateOptions, const CCompressionMethodMode &compressionMethodMode, IArchiveUpdateCallback *updateCallback); |