1 #include "rar.hpp"
2 
Reset(size_t SubDataSize)3 void FileHeader::Reset(size_t SubDataSize)
4 {
5   SubData.Alloc(SubDataSize);
6   BaseBlock::Reset();
7   FileHash.Init(HASH_NONE);
8   mtime.Reset();
9   atime.Reset();
10   ctime.Reset();
11   SplitBefore=false;
12   SplitAfter=false;
13 
14   UnknownUnpSize=0;
15 
16   SubFlags=0; // Important for RAR 3.0 subhead.
17 
18   CryptMethod=CRYPT_NONE;
19   Encrypted=false;
20   SaltSet=false;
21   UsePswCheck=false;
22   UseHashKey=false;
23   Lg2Count=0;
24 
25   Solid=false;
26   Dir=false;
27   WinSize=0;
28   Inherited=false;
29   SubBlock=false;
30   CommentInHeader=false;
31   Version=false;
32   LargeFile=false;
33 
34   RedirType=FSREDIR_NONE;
35   DirTarget=false;
36   UnixOwnerSet=false;
37 }
38 
39 
operator =(FileHeader & hd)40 FileHeader& FileHeader::operator = (FileHeader &hd)
41 {
42   SubData.Reset();
43   memcpy(this,&hd,sizeof(*this));
44   SubData.CleanData();
45   SubData=hd.SubData;
46   return *this;
47 }
48 
49 
Reset()50 void MainHeader::Reset()
51 {
52   HighPosAV=0;
53   PosAV=0;
54   CommentInHeader=false;
55   PackComment=false;
56   Locator=false;
57   QOpenOffset=0;
58   QOpenMaxSize=0;
59   RROffset=0;
60   RRMaxSize=0;
61 }
62