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:
Diffstat (limited to 'CPP/7zip/Archive/7z/7zUpdate.h')
-rwxr-xr-xCPP/7zip/Archive/7z/7zUpdate.h52
1 files changed, 28 insertions, 24 deletions
diff --git a/CPP/7zip/Archive/7z/7zUpdate.h b/CPP/7zip/Archive/7z/7zUpdate.h
index ac1b5b65..bcc7cef7 100755
--- a/CPP/7zip/Archive/7z/7zUpdate.h
+++ b/CPP/7zip/Archive/7z/7zUpdate.h
@@ -14,38 +14,40 @@ namespace N7z {
struct CUpdateItem
{
- bool NewData;
- bool NewProperties;
int IndexInArchive;
int IndexInClient;
- UInt32 Attributes;
- FILETIME CreationTime;
- FILETIME LastWriteTime;
- FILETIME LastAccessTime;
+ UInt64 CTime;
+ UInt64 ATime;
+ UInt64 MTime;
UInt64 Size;
UString Name;
+
+ UInt32 Attrib;
+ bool NewData;
+ bool NewProperties;
+
bool IsAnti;
- bool IsDirectory;
-
- bool IsCreationTimeDefined;
- bool IsLastWriteTimeDefined;
- bool IsLastAccessTimeDefined;
- bool AttributesAreDefined;
-
- bool HasStream() const
- { return !IsDirectory && !IsAnti && Size != 0; }
- CUpdateItem():
- IsAnti(false),
- AttributesAreDefined(false),
- IsCreationTimeDefined(false),
- IsLastWriteTimeDefined(false),
- IsLastAccessTimeDefined(false)
+ bool IsDir;
+
+ bool AttribDefined;
+ bool CTimeDefined;
+ bool ATimeDefined;
+ bool MTimeDefined;
+
+ bool HasStream() const { return !IsDir && !IsAnti && Size != 0; }
+
+ CUpdateItem():
+ IsAnti(false),
+ IsDir(false),
+ AttribDefined(false),
+ CTimeDefined(false),
+ ATimeDefined(false),
+ MTimeDefined(false)
{}
- void SetDirectoryStatusFromAttributes()
- { IsDirectory = ((Attributes & FILE_ATTRIBUTE_DIRECTORY) != 0); };
+ void SetDirStatusFromAttrib() { IsDir = ((Attrib & FILE_ATTRIBUTE_DIRECTORY) != 0); };
int GetExtensionPos() const;
UString GetExtension() const;
@@ -70,8 +72,10 @@ struct CUpdateOptions
HRESULT Update(
DECL_EXTERNAL_CODECS_LOC_VARS
IInStream *inStream,
- const CArchiveDatabaseEx *database,
+ const CArchiveDatabaseEx *db,
const CObjectVector<CUpdateItem> &updateItems,
+ COutArchive &archive,
+ CArchiveDatabase &newDatabase,
ISequentialOutStream *seqOutStream,
IArchiveUpdateCallback *updateCallback,
const CUpdateOptions &options);