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/Zip/ZipIn.h')
-rwxr-xr-xCPP/7zip/Archive/Zip/ZipIn.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/CPP/7zip/Archive/Zip/ZipIn.h b/CPP/7zip/Archive/Zip/ZipIn.h
index 750095d6..5f4fe143 100755
--- a/CPP/7zip/Archive/Zip/ZipIn.h
+++ b/CPP/7zip/Archive/Zip/ZipIn.h
@@ -4,8 +4,11 @@
#define __ZIP_IN_H
#include "Common/MyCom.h"
+
#include "../../IStream.h"
+#include "../../Common/InBuffer.h"
+
#include "ZipHeader.h"
#include "ZipItemEx.h"
@@ -65,13 +68,14 @@ class CInArchive
UInt32 m_Signature;
UInt64 m_StreamStartPosition;
UInt64 m_Position;
- AString m_NameBuffer;
+
+ bool _inBufMode;
+ CInBuffer _inBuffer;
HRESULT Seek(UInt64 offset);
HRESULT FindAndReadMarker(IInStream *stream, const UInt64 *searchHeaderSizeLimit);
- bool ReadUInt32(UInt32 &signature);
- AString ReadFileName(UInt32 nameSize);
+ void ReadFileName(UInt32 nameSize, AString &dest);
HRESULT ReadBytes(void *data, UInt32 size, UInt32 *processedSize);
bool ReadBytesAndTestSize(void *data, UInt32 size);
@@ -81,7 +85,9 @@ class CInArchive
UInt16 ReadUInt16();
UInt32 ReadUInt32();
UInt64 ReadUInt64();
+ bool ReadUInt32(UInt32 &signature);
+ void Skip(UInt64 num);
void IncreaseRealPosition(UInt64 addValue);
void ReadExtra(UInt32 extraSize, CExtraBlock &extraBlock,